codeigniter Tutorial
Primeros pasos con codeigniter
Buscar..
Observaciones
CodeIgniter es un framework MVC escrito en, y para, PHP.
Es liviano en comparación con otros marcos MVC que existen, al costo de tener menos funcionalidad, por ejemplo, no hay un sistema de autenticación integrado que pueda ser parte de otros marcos.
CodeIgniter es una buena opción de marcos para aquellos que están comenzando con MVC, ya que no obliga a ningún estándar en particular para nombrar y estructurar el código; pero también es adecuado para proyectos más grandes donde no se necesita una gran variedad de características contenidas en otros marcos.
Versiones
Versión | Fecha de lanzamiento |
---|---|
Versión Beta 1.0 | 2006-02-28 |
Versión 2.0.0 | 2011-01-28 |
Versión 2.2.0 | 2014-06-02 |
Versión 3.0.0 | 2015-03-30 |
Versión 3.1.3 | 2017-01-09 |
La versión es 3.1.4 | 2017-03-20 |
La versión es 3.1.5 | 2017-06-19 |
Instalación y configuración
Entorno de Windows
- Instalar XAMPP o WAMP
- Descarga y descomprime el paquete de Codeigniter.com
- Extraiga todo el documento en el espacio del servidor (directorio htdocs o www)
Entorno Mac
- Instalar MAMP
- Descarga y descomprime el paquete de Codeigniter.com
- Extraer todo el documento en el espacio del servidor (htdocs)
Entorno Linux
- Descarga y descomprime el paquete de Codeigniter.com
- Coloque la carpeta extraída en / var / www (en WAMP) o xampp / htdocs (XAMPP)
GitHub
git clone https://github.com/bcit-ci/CodeIgniter.git
Si sigue el sistema correctamente, aparecerá la siguiente pantalla.
URL base
- Ir a la
application/config/config.php
- Defina la URL base como
$config['base_url'] = 'http://localhost/path/to/folder';
Eliminar index.php
de la URL
Configuración de Apache |
---|
ir a la raíz
crear archivo htaccess
Agregue el siguiente código dentro de él
RewriteEngine on RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Nota: el código .htaccess varía según el servidor de alojamiento. En algún servidor de alojamiento (por ejemplo: GoDaddy), ¿necesita usar un extra ?
En la última línea del código anterior. La siguiente línea será reemplazada con la última línea en caso aplicable:
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Configuración de Nginx |
---|
Abra el archivo de configuración nginx (de forma predeterminada:
/etc/nginx/sites-available/default
)Agregue el siguiente código dentro de él
server { server_name domain.tld; root /path-to-codeigniter-folder; //you codeigniter path index index.html index.php; # set expiration of assets to MAX for caching location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires max; log_not_found off; } location / { # Check if a file or directory index file exists, else route it to index.php. try_files $uri $uri/ /index.php; } location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; } }
Configuración de la base de datos
- Ir a la
application/config/database.php
- Establecer las siguientes variables de configuración.
- Anfitrión
- Nombre de usuario
- Contraseña
- Nombre de la base de datos
- Puerto
Establecer controlador predeterminado
- Ir a la
application/config/routes.php
- establezca el siguiente valor de variable de configuración con el nombre de su controlador.
- controlador_predeterminado
AutoLoad Library and Helper
- Ir a la
application/config/autoload.php
- establezca el valor de carga automática como
$autoload['libraries'] = array('database', 'session');
- establezca el valor de Ayuda como
$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
Ejecutar múltiples aplicaciones en un sistema CI
Codeigniter puede configurarse para ejecutar más de un proyecto sin duplicar los archivos centrales de CI.
Es posible dividiendo el lado de la aplicación CI. Por ejemplo tomemos proyecto de página web, que contiene front-end
y back-end
las aplicaciones del Sistema de Gestión de Contenidos (CMS). En este caso, la estructura de la carpeta CI será como:
Estructura de la carpeta:
├── Codeigniter
│ ├── applications
│ │ ├─ front-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ ├─ back-end
│ │ │ ├── views
│ │ │ ├── models
│ │ │ ├── controllers
│ │ │ ├── config
│ │ │ └── ...
│ │ │
│ ├── system
│ │ ├── core
│ │ ├── database
│ │ ├── helpers
│ │ └── ...
│ │
│ ├── index.php
└ └── backend.php
En la carpeta de applications
, creamos dos carpetas: front-end
y back-end
y copiamos todo el contenido predeterminado de las applications
en estas dos carpetas.
También backend.php
archivo index.php
en la carpeta raíz como backend.php
Lo siguiente es configurar el CI
para trabajar con estas dos instancias de aplicación.
Configuración de Codeigniter :
Abra los archivos index.php y backend.php y actualice application_folder
confg:
//index.php
$application_folder = 'applications/front-end';
//backend.php
$application_folder = 'applications/back-end';
Después de la configuración anterior, CI está listo para ejecutar dos aplicaciones bajo un sistema CI:
Solicitud en
example.com/Codeigniter/index.php
se abrirá la aplicaciónfront-end
La solicitud en
example.com/Codeigniter/backend.php
abriráback-end
aplicaciónback-end
Aumente la seguridad ocultando la ubicación de sus archivos CodeIgniter
Dentro del CodeIgniter, hay dos directorios principales de los que preocuparse: sistema y aplicación . La carpeta del sistema contiene las entrañas del núcleo de CodeIgniter. La carpeta de la aplicación contendrá todo el código específico de su aplicación, incluidos los modelos, controladores, vistas y otras bibliotecas relevantes.
De acuerdo con las instrucciones de instalación de CodeIgniter, en el mejor interés de proteger su aplicación, tanto el sistema como la carpeta de la aplicación deben ubicarse sobre la raíz web para que no sean accesibles directamente a través de un navegador. De forma predeterminada, los archivos .htaccess se incluyen en cada carpeta para ayudar a evitar el acceso directo, pero es mejor eliminarlos del acceso público por completo en caso de que la configuración del servidor web cambie o no cumpla con el .htaccess.
├── CodeIgniter
│ ├── application
│ ├── system
│ ├── wwwroot
│ │ ├── index.php
Después de mover las carpetas del sistema y de la aplicación, abra el archivo principal index.php
y configure las $system_path
, $application_folder
, preferiblemente con una ruta completa, por ejemplo, ' /www/MyUser/system'
. Sin embargo, los caminos relativos deberían funcionar.
Para Linux / Apache:
$application_folder = './application';
$system_path = './system';
Para Windows / IIS:
$application_folder = '../application/';
$system_path = '../system/';