Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:codeigniter

¡Esta es una revisión vieja del documento!


CodeIgniter

Framework de PHP.

Las notas están centradas en la versión 4. Para la versión 3, existe otra página.

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();
    }
}

Instalación

Requisitos:

  • Versión de PHP 7.2 o superior con las siguientes extensiones:
    • intl
    • mbstring
    • php-json
    • php-mysqlnd
    • php-xml

Se descarga y descomprime en el document root del servidor web.

La web se servirá desde el directorio public (es diferente respecto a versiones anteriores del framework)

La carpeta writable debe de ser modificable por el usuario que ejecuta el servidor web.

Docker Compose

Ejemplo de configuración de de infraestructura LEMP para instalar CodeIgniter

La imagen de PHP de Alpine la personalizamos con el siguiente Dockerfile:

FROM php:7-fpm-alpine
RUN apk add --update icu-dev oniguruma-dev

# Instalación de extensiones de PHP
RUN docker-php-ext-install mysqli pdo_mysql intl mbstring

# Instalación de Composer
5 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Configuración

Nginx

server{
(...)

    root  /var/www/example.com/public;
    index index.php index.html index.htm;

(...)

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
...
}

Si estuviese en un subdirectorio, por ejemplo, ci:

server{
...
    location /ci {
        try_files $uri $uri/ /ci/index.php?/$request_uri;
    }
...
}

Para configuración general más habitual, se puede emplear el fichero env en lugar de ir a cada uno de los ficheros. Antes de nada, el fichero hay que renombrarlo a .env.

Poner CodeIgniter en modo desarrollo:

CI_ENVIRONMENT = development
# CI_ENVIRONMENT = production

Establecer la URL del proyecto:

app.baseURL = 'https://mipagina.com/'

Configuración de la base de datos:

database.default.hostname = basedatos:PUERTO
database.default.database = nombre-base-datos
database.default.username = usuario-base-datos
database.default.password = contraseña-base-datos
database.default.DBDriver = MySQLi

Recursos

informatica/programacion/php/frameworks/codeigniter.1603652457.txt.gz · Última modificación: por tempwin