Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:codeigniter

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:php:frameworks:codeigniter [2021/03/01 20:13] – [Docker Compose] tempwininformatica:programacion:php:frameworks:codeigniter [2024/12/04 11:54] (actual) – [CodeIgniter] tempwin
Línea 1: Línea 1:
 ====== CodeIgniter ====== ====== CodeIgniter ======
  
-Framework de PHP.+Framework de [[informatica:programacion:php|PHP]].
  
   * [[https://codeigniter.com|Web oficial]]   * [[https://codeigniter.com|Web oficial]]
Línea 17: Línea 17:
   * Vista: resultado visual   * Vista: resultado visual
   * Controlador: intermediario entre los datos y la presentación.   * Controlador: intermediario entre los datos y la presentación.
 +
 +Además, CodeIgniter sigue el patrón FrontController, es decir, hay un script que en base a lo que le pasemos por URL, enviará la petición al componente adecuado. Esquema:
 +
 +<code>
 +http://example.com/[clase-controlador]/[metodo-controlador]/[argumentoss]
 +</code>
 +
 +Por ejemplo:
 +
 +<code>
 +http://example.com/noticias/ver/10
 +</code>
 +==== Controlador ====
 +
 +''app/Controllers/Pages.php''
 +
 +<code php>
 +<?php
 +
 +namespace App\Controllers;
 +
 +use CodeIgniter\Controller;
 +
 +class Pages extends Controller
 +{
 +    public function index()
 +    {
 +        return view('welcome_message');
 +    }
 +
 +    public function view($page = 'home')
 +    {
 +        // ...
 +    }
 +}
 +</code>
  
 ==== Modelo ==== ==== Modelo ====
Línea 35: Línea 71:
  
   * https://codeigniter.com/userguide3/database/query_builder.html   * https://codeigniter.com/userguide3/database/query_builder.html
 +
 +
 ===== Instalación ===== ===== Instalación =====
  
 Requisitos: Requisitos:
  
-  * Versión de PHP 7.o superior con las siguientes extensiones:+  * Versión de PHP 7.o superior con las siguientes extensiones:
     * ''intl''     * ''intl''
     * ''mbstring''     * ''mbstring''
Línea 47: Línea 85:
  
 Se [[https://github.com/CodeIgniter4/framework/releases/latest|descarga]] y descomprime en el document root del servidor web. Se [[https://github.com/CodeIgniter4/framework/releases/latest|descarga]] y descomprime en el document root del servidor web.
 +
 +Tendremos la siguiente estructura de directorios:
 +
 +<code>
 +app/
 +public/
 +system/
 +writable/
 +</code>
  
 La web se servirá desde el directorio ''public'' (es diferente respecto a versiones anteriores del framework) La web se servirá desde el directorio ''public'' (es diferente respecto a versiones anteriores del framework)
Línea 72: Línea 119:
 </code> </code>
  
-La carpeta ''/var/www/html/writable/cache/'' debe ser accesible para escritura por el servidor web.+La carpeta ''/var/www/html/writable'' (y todo lo que contenga) debe ser accesible para escritura por el servidor web. Si estamos en desarrollo, podemos ir a lo loco y optar por: 
 + 
 +<code bash> 
 +chmod 777 -R /var/www/html/writable 
 +</code> 
 + 
 +Sin embargo, la recomendación es: 
 + 
 +<code bash> 
 +chown -R <usuario_servidor_web> /var/www/html/writable 
 +</code>
 ===== Configuración ===== ===== Configuración =====
  
Línea 130: Línea 187:
 </code> </code>
  
 +===== Configuración inicial =====
 +
 +Abrimos ''app/Config/App.php'' y establecemos la URL de base:
 +
 +<code php>
 +public $baseURL = 'http://miweb.com/';
 +</code>
 +
 +Si vamos a usar una base de datos, abrimos ''app/Config/Database.php'' y configuramos:
 +
 +<code php>
 +    public $default = [
 + 'DSN'      => '',
 + 'hostname' => 'localhost',
 + 'username' => '',
 + 'password' => '',
 + 'database' => '',
 + 'DBDriver' => 'MySQLi',
 + 'DBPrefix' => '',
 + 'pConnect' => false,
 + 'DBDebug'  => (ENVIRONMENT !== 'production'),
 + 'charset'  => 'utf8',
 + 'DBCollat' => 'utf8_general_ci',
 + 'swapPre'  => '',
 + 'encrypt'  => false,
 + 'compress' => false,
 + 'strictOn' => false,
 + 'failover' => [],
 + 'port'     => 3306,
 +    ];
 +</code>
 +
 +==== Fichero env ====
 +
 +Podemos establecer ciertas opciones/variables de configuración creando un fichero llamado ''.env''. La instalación de CodeIgniter viene con uno de ejemplo llamado ''env'' (sin el punto inicial)
 ====== Recursos ====== ====== Recursos ======
  
informatica/programacion/php/frameworks/codeigniter.1614625994.txt.gz · Última modificación: por tempwin