Ahora probemos un ejemplo. Queremos mostrar una lista de usuarios de una tabla de datos. Empecemos con el modelo.
Estructura de la tabla
Usuario
idusernamepassword1Adib1234562Wadiiabcdef3Ayoubazerty
Modelo
Vemos que hay unas cuantas propiedades para tener en cuenta con cada usuario. Por ejemplo, cada usuario tiene una identificación, un nombre de usuario y una contraseña. Estos se convertirán en nuestros atributos de modelo. Recuerde que el Modelo maneja el back-end, per se. Por lo tanto, cualquier operación relacionada con la manipulación de tablas debe ser completada en esta clase (o en sus clases relacionadas que no sean de View o de Controlador).
1234567891011121314151617181920212223242526272829303132333435363738394041424344classUser_modelextendsCI_Model{public$id;public$username;public$password;functiongetId(){return$this->id;}functiongetUserername(){return$this->username; }functiongetContraseña(){regresar$esto;}contraseña;}functionsetId($id){$esto-id=$id;}functionsetNombreDeUsuario($nombredeusuario){$esto-está-$nombredeusuario;}functionsetContraseña($contraseña){$esto-está-$contraseña=$contraseña;}función__construir(){padre: :__construct();}publicfunctionuser_list(){return$this->db-essmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessmessment-förder$0027,$0027DESC$0027)-más phpControlador
A continuación, consideraremos el controlador. Recuerde que el controlador transmite información y solicitudes entre el modelo y la vista. Queremos transmitir todos los cambios que van del modelo a la vista y viceversa manteniendo intactas las barreras de abstracción (es decir, manteniendo al usuario alejado de las piezas internas del propio modelo).
12345678910111213classuserextendsCI_Controller{publicfunction__construct(){parent:: __construct();$this-\Ncargar-N-modelo($0027user_model$0027);}publicfunctionuser_list(){$data=array();$tab=$this-N;User_model-N-lista de usuarios();$this-Ncargar-Nver($0027lista$0027,$datos);}}php
El constructor del controlador carga el modelo desde user_model para recuperar los valores de la propia tabla. Como se ve por la función user_list(), el controlador va entre la clase User_model y los elementos de la vista de carga.
Ver
Por último, tenemos la visión que dicta lo que el usuario ve. Usaremos HTML para colocar a los usuarios en cada punto de la tabla HTML (denotado por las etiquetas). Noten que usamos $tab en el frente. Esto le dice a la vista que construya una tabla que contenga valores de la lista_de_usuarios(). Además, usando foreach podemos expandir la tabla si se agregan más usuarios.
123456789101112131415161718192021222324252627282930313233<html;head nombre de usuario</th.../th.../contraseña</th.../tr.../tr.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t.../t... phpforeach($tabas$key==$;$valor){echo"<tr>";echo"<td;*;";echo$valor["id"];echo"</td;*;";echo"<td;*; ";echo$value["nombre de usuario"];echo"</td>";echo"<td>";echo$value["contraseña"];echo"</td>";echo"</tr>";}?php
Y con eso, tenemos una tabla de respuesta basada en guiones que se mueve entre el Modelo, la Vista y el Controlador.