Primeros pasos con codeigniter
Instalación y configuración
Entorno de Windows
- Instale XAMPP o WAMP
- Descargue y descomprima el paquete desde Codeigniter.com
- Extraiga todo el documento en el espacio del servidor (directorio htdocs o www)
Entorno Mac
- Instalar MAMP
- Descargue y descomprima el paquete desde Codeigniter.com
- Extraiga todo el documento en el espacio del servidor (htdocs)
Entorno Linux
- Descargue y descomprima el paquete desde Codeigniter.com
- Coloque la carpeta extraída en /var/www (en WAMP) o xampp/htdocs (XAMPP)
GitHub
clonar git https://github.com/bcit-ci/CodeIgniter.git
Si sigue el sistema correctamente, obtendrá la siguiente pantalla.
URL base
- Vaya a
aplicación/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) es necesario usar un ?
adicional en la última línea del código anterior. La siguiente línea será reemplazada por la última línea en el caso aplicable:
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Configuración Nginx |
---|
-
Abra el archivo de configuración de nginx (por defecto:
/etc/nginx/sites-disponible/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
- Vaya a
aplicación/config/database.php
- Establezca las siguientes variables de configuración. - Host - Username - Password - Database Name - Port
Establecer controlador predeterminado
- Vaya a
aplicación/config/routes.php
- Establezca el siguiente valor de la variable de configuración con el nombre de su controlador.
- default_controller
Biblioteca de carga automática y ayudante
- Vaya a
aplicación/config/autoload.php
- establezca el valor de carga automática como
$autoload['libraries'] = array('database', 'session');
- establezca el valor de Helper como
$autoload['helper'] = array('url', 'file', 'form', 'html', 'text');
Ejecute múltiples aplicaciones en un sistema CI
Codeigniter se puede configurar para ejecutar más de un proyecto sin duplicar los archivos principales de CI.
Es posible dividiendo el lado de la aplicación de CI. Por ejemplo, tomemos un proyecto de sitio web, que contiene aplicaciones del sistema de administración de contenido (CMS) front-end
y back-end
.
En este caso, la estructura de carpetas de CI será como:
Estructura de carpetas:
├── 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 aplicaciones
creamos dos carpetas: front-end
y back-end
y copiamos todo el contenido predeterminado de aplicaciones
en estas dos carpetas.
También duplicamos el archivo index.php
en la carpeta raíz como backend.php
Lo siguiente es configurar CI
para trabajar con estas dos instancias de la aplicación.
Configuración de Codeigniter:
Abra los archivos index.php y backend.php y actualice la configuración application_folder
:
//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 en un sistema de CI:
La solicitud en
example.com/Codeigniter/index.php
abrirá la aplicaciónfront-end
La solicitud en
example.com/Codeigniter/backend.php
abrirá la aplicaciónback-end
Aumente la seguridad ocultando la ubicación de sus archivos de CodeIgniter
Dentro de CodeIgniter, hay dos directorios principales de los que preocuparse: sistema y aplicación. La carpeta del sistema contiene las entrañas principales de CodeIgniter. La carpeta de la aplicación contendrá todo el código específico de su aplicación, incluidos modelos, controladores, vistas y otras bibliotecas relevantes.
Según las instrucciones de instalación de CodeIgniter, con el mejor interés de proteger su aplicación, tanto el sistema como la carpeta de la aplicación deben colocarse sobre la raíz web para que no se pueda acceder a ellos 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 variables $system_path
, $application_folder
, preferiblemente con una ruta completa, p. ‘/www/MiUsuario/sistema‘
. Sin embargo, las rutas relativas deberían funcionar.
Para Linux/Apache:
$application_folder = './application';
$system_path = './system';
Para Windows/IIS:
$application_folder = '../application/';
$system_path = '../system/';