[Curso] Codeigniter 4 de 0 a 100 ?

Codeigniter 4馃敟 [27.- Sesiones]

En este tutorial vamos a trabajar con las sesiones de codeigniter 4, a esta alturas ya todos debemos saber que es una sesi贸n y en particular que es una sesion en PHP, en codeigniter 4 es exactamente lo mismo pero este framework nos da la oportunidad de trabajar de manera muy practica y facil.
Codigo del tutorial: https://github.com/programadornovato/codeigniter4/commit/454a50aa8fbf86bdd8763c2bdf9db5fe71d62675

//app/Controllers/BaseController.php 
<?php namespace App\Controllers;

/**
 * Class BaseController
 *
 * BaseController provides a convenient place for loading components
 * and performing functions that are needed by all your controllers.
 * Extend this class in any new controllers:
 *     class Home extends BaseController
 * 
 * For security be sure to declare any new methods as protected or private.
 * 
 * @package CodeIgniter
 */ 
use CodeIgniter\Controller;

class BaseController extends Controller
{

 /**
  * An array of helpers to be loaded automatically upon
  * class instantiation. These helpers will be available
  * to all other controllers that extend BaseController.
  *
  * @var array
  */ protected $helpers = [ ];
 //public $session=null;
 /**
  * Constructor.
  *
  */ public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
 {
  // Do Not Edit This Line
  parent::initController($request, $response, $logger);
  helper('operaciones');
  //$this->session= \Config\Services::session();
  //--------------------------------------------------------------------
  // Preload any models, libraries, etc, here.
  //--------------------------------------------------------------------
  // E.g.:
  // $this->session = \Config\Services::session();

 }
}








//app/Controllers/Micontrolador.php
<?php namespace App\Controllers;

use CodeIgniter\Controller;
use App\Models\UserModel;

class Micontrolador extends BaseController
{ 
 public $session=null;
 public function __construct(){
  helper('form');
  $this->session= \Config\Services::session();
 }

 public function ponerDatos(){
  $newdata=[
   'name'=>'novato',
   'email'=>'info@programadornovato.com',
   'login'=>TRUE,
  ];
  $this->session->set($newdata);
  echo $this->session->get('email');
 }
 public function leerDatos(){
  if($this->session->has('name')){
   echo "name=".$this->session->get('name')."<br>";
   echo "email=".$this->session->get('email')."<br>";
   echo "login=".$this->session->get('login')."<br>";
  }
  else{
   echo "No hay datos";
  }
 }
 public function quitarDatos(){
  $this->session->remove('email');
 }
 public function destruirDatos(){
  $this->session->destroy();
 }
  

 public function guarda(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  $data=array(
   'name'=>$request->getPostGet('name'),
   'email'=>$request->getPostGet('email'),
  );
  if($request->getPostGet('id')){
   $data['id']=$request->getPostGet('id');
  }
  if($userModel->save($data)===false){
   var_dump($userModel->errors());
  }
  if($request->getPostGet('id')){
   $users=$userModel->find([$request->getPostGet('id')]);
   $users=array('users'=>$users);
   $estructura=view('estructura/header').view('estructura/formulario',$users); 
  }
  else{
   $users=$userModel->findAll();
   $users=array('users'=>$users);
   $estructura=view('estructura/header').view('estructura/body',$users);
  }
  return $estructura;

 }
 public function editar(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  if($request->getPostGet('id')){
   $id=$request->getPostGet('id');
  }else{
   $id=$request->uri->getSegment(3);
  }
  $users=$userModel->find([$id]);
  $users=array('users'=>$users);
  $estructura=view('estructura/header').view('estructura/formulario',$users);
  return $estructura;

 }
 public function borrar(){
  $userModel=new UserModel($db);
  $request= \Config\Services::request();
  if($request->getPostGet('id')){
   $id=$request->getPostGet('id');
  }else{
   $id=$request->uri->getSegment(3);
  }
  $userModel->delete($id);
  $users=$userModel->findAll();
  $users=array('users'=>$users);
  $estructura=view('estructura/header').view('estructura/body',$users);
  return $estructura;

 }

 public function formulario(){
  $estructura=view('estructura/header').view('estructura/formulario');
  return $estructura;
 }
 public function index()
 {
  $userModel=new UserModel($db);
  $datos=$userModel->paginate(10);
  $paginador=$userModel->pager;
  $paginador->setPath('ci4/');
  $datos=array('users'=>$datos,'paginador'=>$paginador);
  $estructura=view('estructura/header').view('estructura/body',$datos);
  return $estructura;
  
 }

 public function imagenManipulacion(){
  $info=\Config\Services::image()
  ->withFile('codeigniter.jpg')
  ->getFile()
  ->getProperties(true);
  $ancho=$info['width'];
  $alto=$info['height'];

  $imagen=\Config\Services::image()
  ->withFile('codeigniter.jpg')
  ->reorient()
  //->rotate(90)
  //->fit(250,250,'bottom-left')
  //->resize($ancho/2,$alto/2)
  ->crop(300,300,50,0)
  ->save('codeigniter_p.jpg');
  return view('estructura/imagen');
 }
 //--------------------------------------------------------------------

}


Guia oficial codeigniter: https://codeigniter4.github.io/userguide/libraries/sessions.html

Codeigniter 4? [27.- Sesiones]

#Codeigniter4 #php7 #backend #Codeigniter #php .
? Esta lista de reproducci贸n: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTFN5TDeOP-wP_hU0_9VoWg
.
Codigos en gdrive: https://drive.google.com/file/d/1awbG6jI40IO0N68fgjLUwNFpsTC3wIHj/view?usp=sharing .
Gracias por apoyar este canal: https://www.patreon.com/programadornovato?fan_landing=true .
? Facebook: https://facebook.com/ProgramadorNovatoOficial
? Twitter: https://twitter.com/programadornova
? Linkedin: https://www.linkedin.com/in/programadornovato/
? Instagram: https://www.instagram.com/programadornovato/

Eugenio Chaparro

Entradas recientes

Editar c贸digo de un m贸dulo en Dolibarr [04]

Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

4 meses hace
Crear un sub_m贸dulo en Dolibarr [03]

Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

4 meses hace
Modificar un m贸dulo en Dolibarr [02]

Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

4 meses hace
Constructor de m贸dulos en Dolibarr

Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

4 meses hace
Tickets en Dolibarr [19]

Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

4 meses hace
Agenda en Dolibarr [18]

Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

4 meses hace