¡Esta es una revisión vieja del documento!
Tabla de Contenidos
CodeIgniter 3
Modelo Vista Controlador
CodeIgniter sigue el paradigma de programación Modelo-Vista-Controlador.
- Modelo: datos
- Vista: resultado visual
- Controlador: intermediario entre los datos y la presentación.
Modelo
application/models
class Nombre_modelo extends CI_model { function __construct() { parent::__construct(); $this->load->database(); } }
Configuración
Nginx
server{
...
location / {
try_files $uri $uri/ /index.php?/$request_uri;
}
...
}
Si estuviese en un subdirectorio, por ejemplo, ci:
server{
...
location /ci {
try_files $uri $uri/ /ci/index.php?/$request_uri;
}
...
}
Componentes
Helpers
Colección de funciones relacionadas.
Una vez cargados, los helpers están disponibles globalmente en los controladores y vistas.
Se almacenan en:
system/helpers: incluidos en CodeIgniterapplication/helpers: creados por el usuario.
Carga
$this->load->helper('nombre_helper');
Por ejemplo, si queremos cargar un helper llamado url_helper.php:
$this->load->helper('url');
Se pueden cargar varios a la vez:
$this->load->helper( array('helper1', 'helper2', 'helper3') );
Si queremos que algún helper esté disponible para toda la aplicación, añadimos el helper al array de application/config/autoload.php
Extender
Si queremos ampliar algunos de los helpers, lo creamos en application/helpers con el mismo nombre, pero añadiéndole el prefijo my. Este prefijo se puede configurar en application/config/config.php:
$config['subclass_prefix'] = 'MY_';
Depuración
CodeIgniter cuenta con la clase Profiler que permite mostrar resultados de rendimientos, consultas ejecutadas y la información de $_POST en la parte inferior de la página. Esto resulta muy útil durante el desarrollo de una aplicación para ayudar en la depuración y optimización.
Podemos activar el profiler en el método que queramos de la siguiente manera:
$this->output->enable_profiler(TRUE);
Query Builder
Utilidades para interactuar con la base de datos
Múltiples condiciones en WHERE
$array = [ 'name' => 'Joe', 'title' => 'Boss', 'status' => 'active' ]; $this->db->where($array);
Lo que hace es :
WHERE name = 'Joe' AND title ='Boss' AND status = 'active'
