Ejemplos controlador modelo y vista en CodeIgniter 4
Una de las cosas que más cuesta cuando pasas de CodeIgniter 3.X a CodeIgniter 4.x, es ir aprendiendo las novedades y el nuevo concepto de programación. Facilitemos estos pasos con ejemplos de controlador, modelo y vista en CodeIgniter 4.
Va destinado para los que queréis echar un vistazo rápido a un ejemplo de cada. No se entra mucho en especificar nada. Todo el tema de instalación de CodeIgniter y la estructura del Framework PHP lo encontraréis en la documentación oficial (enlace en la parte inferior).
Controlador CodeIgniter 4
Un controlador básico que carga el modelo HomeModel. Importante, el nombre del fichero debe empezar por mayúsculas, y sólo tener una. Al declarar la clase, lo mismo.
/app/Controlers/Home.php
<?php namespace App\Controllers; use App\Models\HomeModel; use CodeIgniter\Controller; class Home extends BaseController { public function index() { $home_model = new HomeModel();$data = [
'testos' => $home_model->getTest(),
'variable' => 'Funciona'
];
echo view('template_header');
echo view('welcome_message', $data);
echo view('template_footer');
}
}
Fijaos que en $data, cargo dos campos:
- Cargamos 3 vistas: la cabecera, el contenido y el pie de página.
- $variable con texto Funciona
- $testos con un array que devuelve el modelo getTest() de una consulta a base de datos.
Luego $data, se lo paso a la vista welcome_message.
Modelo CodeIgniter 4
Un modelo básico en el que os tenéis que fijar que aquí si que podemos poner más mayúsculas en el nombre del fichero. Yo añado Model para diferenciarlo o encontrarlo mejor.
En el código veréis que declaro una variable $table, que almacena el nombre de la tabla que contiene la consulta que hago posteriormente. Ahroa, en CodeIgniter 4 lo puedes hacer automático. El ejemplo véis cómo hacer una consulta a la base de datos que coge todos los registros de la tabla test.
/app/Models/HomeModel.php
<?php namespace App\Models; use CodeIgniter\Model; class HomeModel extends Model { protected $table = 'test'; public function getTest() { return $this->findAll(); } }
Vista CodeIgniter 4
Una vista básica.
/app/Views/welcome_message.php
<?php if(!empty($testos) && is_array($testos)): ?> <?php foreach ($testos as $testos_item): ?> <h3><?= esc($testos_item["id"]); ?></h3> <?= esc($testos_item[""test]); ?> <?php endforeach ?> <?php else : ?> No hay registros <?php endif ?>
Aquí, lo único que hago es mostrar, por un lado la $variable pasada, y por otro recorrer los registros de la consulta a la tabla test de la base de datos.
Espero que estos Ejemplos de controlador modelo y vista en CodeIgniter 4 os sean de utilidad.
Debido que ahora se mezclarán los artículos de CodeIgniter 3 con los de CodeIgniter 4, los artículos serán etiquetados con #Codeginiter4
Más información
estoy migrando de la version 3 a la 4 y tenfo dificultad con el html2pdf ya que en el ci3 el html2pdf me daba normal, ahor en el ci4 me muestra el siguiente error Class ‘App\Libraries\Html2pdf’ not found
require_once(APPPATH.’Libraries/Html2pdf/html2pdf.class.php’);
$html2pdf = new HTML2PDF(‘P’,’A4′,’en’); WriteHTML($content);
$html2pdf->output(‘registroPostulante.pdf’);