Describir un ‘modelo’ de CodeIgniter en detalle

En este artículo, discutiremos el modelo en Codelgniter en detalle.

Primero, analicemos la estructura MVC en CodeIgniter. Como sabemos, durante décadas, el sitio web ha pasado de un simple HTML con CSS a una aplicación compleja con cientos de desarrolladores trabajando en ellos.

Para simplificar el trabajo en estas aplicaciones complejas, usamos diferentes patrones para diseñar el proyecto para que el código sea menos complejo y más fácil de trabajar en él. El patrón más popular es MVC conocido como modelo, vista y controlador.

El objetivo del patrón MVC es dividir la aplicación grande en secciones específicas de modo que todas tengan su propio propósito.

¿Explicar cómo funciona MVC?

Supongamos que un usuario envía una solicitud al servidor para obtener la lista de todos los cursos. El servidor enviará esta solicitud al controlador que maneja la lista de cursos.

Luego, el controlador le pide al modelo que devuelva una lista de cursos disponibles. El modelo consultaría la base de datos para obtener la lista de todos los cursos y luego devolvería la lista al controlador. Si la respuesta del modelo fue exitosa, entonces el controlador le pediría a la vista asociada con los cursos que devuelva una presentación de la lista de cursos.

La vista tomaría la lista de cursos del controlador y la representaría en HTML que podría usar el navegador. Luego, el controlador tomaría esa presentación y se la devolvería al usuario, finalizando así la solicitud.

Podemos ver en el ejemplo que el modelo maneja todos los datos, la vista maneja toda la presentación y el controlador simplemente le dice al modelo y a la vista qué hacer.

Modelo en CodeIgniter

Como hemos visto en el ejemplo anterior, ese modelo maneja todos los datos. Se ocupa principalmente de los datos. Supongamos que queremos interactuar con la base de datos, entonces el modelo sería responsable de eso. El controlador no interactúa directamente con la base de datos, el controlador le pide al modelo que devuelva los datos de la base de datos. Luego, el modelo consultaría la base de datos y luego devolvería los datos solicitados al controlador.

Así que los trabajos modelo son principalmente:

  • Implementar la lógica de datos para obtener los datos de la base de datos.
  • Responder al responsable del tratamiento cuando le solicite algún dato
  • Almacena, modifica y elimina los datos de la base de datos.

Básicamente es una clase en PHP que se encarga de interactuar con la parte de la base de datos. Supongamos que tenemos un blog en el que insertamos, modificamos y eliminamos los registros, entonces nuestra clase modelo se vería así:

Sintaxis: El modelo básico se vería así:

class Model_name extends CI_Model {
    function __construct()
    {
        parent::__construct();
    }
}

Model_name es el nombre de su clase. El nombre de tu clase debe comenzar con una letra mayúscula. El nombre del archivo debe ser el mismo que el nombre de la clase.

Ejemplo:

PHP

class My_blog_model extends CI_Model {
  
    public $title;
    public $content;
    public $date;
  
    public function get_last_5_entries() {
        $query = $this -> db -> get('entries', 5);
        return $query -> result();
    }
  
    public function insert_entry() {
        $this -> title    = $_POST['title'];
        $this -> content  = $_POST['content'];
        $this -> date     = time();
  
        $this -> db -> insert('entries', $this);
    }
  
    public function update_entry() {
        $this -> title    = $_POST['title'];
        $this -> content  = $_POST['content'];
        $this -> date     = time();
  
        $this -> db -> update('entries', $this, 
                              array('id' => $_POST['id']));
    }
}

Descargue CodeIgniter: descargue CodeIgniter y, después de descargarlo, guárdelo dentro de su carpeta htdocs y asigne el nombre de su proyecto a Codeigniter_tut . Luego puede ejecutar este proyecto dentro de su localhost usando http://localhost/codeigniter_tut.

Haga clic en el enlace para descargar CodeIgniter: descargar CodeIgniter

Una vez que su CodeIgniter se haya instalado y ejecutado con éxito, verá la siguiente pantalla.

Cargando un modelo: cuando usamos un modelo, necesitamos cargar nuestro modelo dentro del archivo del controlador. Para que pueda llamarse desde los métodos del controlador.

Podemos cargar nuestro modelo de la siguiente manera:

$this->load->model('Name_Of_The_Model');  

Supongamos que si nuestro archivo de modelo se encuentra dentro de un subdirectorio, debemos mencionar la ruta completa. Por ejemplo, si nuestro archivo de modelo está presente dentro de la carpeta GFG, entonces debemos agregar:

$this->load->model('GFG/Name_Of_The_Model');  

Una vez que hayamos cargado nuestro archivo de modelo, podemos acceder a los métodos del modelo utilizando el objeto que hemos creado.

$this->load->model('my_model');
$this->my_model->method();

Hay dos formas de conectar el modelo a la base de datos:

  • Autoconectar
  • Conexión manual

Conexión automática: para conectarse automáticamente, el modelo a la base de datos agrega el siguiente código dentro de su archivo autoload.php .

$autoload['libraries'] = array('database);

Conexión manual: necesitamos agregar el siguiente código a la página donde se necesita el modelo:

$this->load->database();  

Publicación traducida automáticamente

Artículo escrito por sftrengdeepak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *