En este segundo tutorial de codeigniter aprenderemos un poco cómo están divididas las carpetas en el framework, cómo usar algunos archivos de configuración, y cómo hacer las urls un poco más amigables, aunque ya lo son bastante.

ESTRUCTURA DE CARPETAS POR DEFECTO

Al abrir la carpeta de miSitio, la carpeta renombrada en el anterior tutorial de codeigniter, nos encontramos 3 carpetas.
codeigniter
  • Application:  Se encuentran todos los archivos de nuestro proyecto y es donde trabajaremos.
  • System: Aquí se encuentran todas las librerías del Framework. No es nada recomendable modificarlos.
  • User_guide: La guía de usuario que podemos borrar sin problemas si lo vemos un gasto innecesario de espacio, ya que tenemos una guía online que está muy bien estructurada.

Abrimos la carpeta Aplication y tenemos las siguientes carpetas:

codeigniter

Las 3 básicas serían el modelo, la vista y el controlador, que ya explicamos para que servían en el anterior tutorial. Encontramos también algunas carpetas que usaremos:

  • Helpers: Se encuentran aquellas funciones que nos facilitarán la escritura de código. Codeigniter proporciona algunos, como facilitarnos la creación de formularios. Nosotros crearemos otros más adelante para comprenderlos mejor.
  • Hooks: En esta carpeta alteraríamos el comportamiento que tiene normalmente el framework sin tocar en los archivos los contenidos de la carpeta system. Nosotros lo usaremos para cambiar la seguridad y controlar la entrada de usuarios.
  • Libreries: La usaremos para la creación de funciones complicadas, que involucren varias tablas o que sencillamente no creamos conveniente alojarla en el modelo. La intención de esto es aislar la lógica de la aplicación con el acceso a la base de datos.
  • Third_party: Serian las librerías que nosotros nos descargamos para ampliar funcionalidades de PHP. Como podría ser leer PDF o generarlos, envió de correos… Se alojarían todos aquellos plugins creados por personas ajenas a nuestra aplicación.
  • Config: Se encuentras los archivos mas comunes de configuración, en este turorial veremos algunos.

INSERTANDO CARPETAS DE VISTA.

Prácticamente todos los proyectos HTML actuales contienen estas carpetas con este o distinto nombre:
  • CSS: Contiene todos los css de la web.
  • JS: Están los archivos Javascript.
  • IMG: Están guardadas las imágenes.

Se pueden implementar en diferentes lugares de la aplicación. Mucha gente la coloca en la carpeta de las Vistas (para mi gusto quizás sea el lugar más acertado) pero Juan Manuel, en el tutorial original, lo coloca en la raíz, para seguir con el mismo sistema de trabajo. De este último modo es como lo haremos nosotros.

codeigniter

Estas carpetas que hemos creado ahora se sobrescribirán directamente al colocar bootstrap Twitter en el futuro.

ARCHIVOS DE CONFIGURACIÓN, CARPETA CONFIG

Para abrir los archivos de la carpeta Config usaremos Sublime Text, lo abrimos y seleccionamos la carpeta miStio donde tenemos todo el proyecto. File > Open (Mac) o, para Windows, creo que es File > Open Folder. Al abrirlo, la pantalla nos aparecerá así:
codeigniter

CONFIG

El primer archivo a ver es el archivo config. En éste se pueden configurar cosas como la URL base, el nombre con el que debe empezar una clase, si queremos habilitar hooks, la pagina inicial por defecto…

Por defecto funcionará nuestro sitio sin hacer ningún cambio, pero si queremos acceder a lugares internos de nuestra aplicación nos podría dar problemas, entonces modificaremos la siguiente linea colocando toda nuestra ruta interna en el lugar donde están ahora mismo las dos comillas sin nada dentro.

DATEBASE

El siguiente archivo interesante es el datebase. Aquí modificaremos todo lo referente a la base de datos: tanto el acceso como el tipo que usemos. Ahora viene por defecto mysql, que es la que necesitamos y cambiaremos varios parámetros para que podamos acceder a nuestros datos desde la aplicación.
Para hacer correctamente el acceso a la base de datos necesitaremos añadir el nombre de usuario, contraseña, el nombre del sitio (le ponemos el mismo que la aplicación, en este caso miSitio).
Nosotros usaremos el usuario root, que en Mamp viene con la contraseña root y en Xamp viene sin contraseña. Pero es aconsejable tener un usuario y contraseña que no sean root.

En nuestra aplicación queda de la siguiente manera.

Debemos crear una base de datos con el nombre miSitio para que al acceder a la web para hacer pruebas no nos de error. Con el mismo phpMyAdmin es muy sencillo. No le damos más importancia porque más adelante ya crearemos todas las tablas de la BD. Ahora sólo la creamos para que no haya problemas.

AUTOLOAD

Es uno de los archivos más importantes. A la hora de trabajar necesitaremos cargar algo, ya sean librerías o un modelo. Lo podemos hacer justo en el archivo donde estemos trabajando en ese momento o podemos añadir aquí lo que necesitemos para que se cargue automáticamente, como podría ser la librería de formularios, de sesión o el modelo de usuarios. Tenemos que tener cuidado, pues puede ralentizar el proyecto si no se usa con cabeza.

Por poner un ejemplo, podemos poner la librería datebase, que se encarga de gestionar el acceso a la base de datos. Quedaría así:

Podemos también añadir un helper como el de url que nos proporciona una url mucho más amigable

ROUTES

Lo que ofrece este archivo, sencillamente, es poder seleccionar nuestro controlador por defecto y una página de error por si la carga de la web falla dentro del servidor.

Por defecto el controlador que viene es welcome, nosotros lo vamos a cambiar y le ponemos home.

Entonces, lo que hemos hecho es colocar un controlador que ahora mismo no existe. A continuación, debemos renombrar todo el controlador Welcome (miSitio > controllers > welcome.php) por home y quedaría el archivo de la siguiente manera.

Si os fijáis, a la carpeta vista le he añadido una carpeta llamada home, como el controlador, esto lo haremos con todos lo controladores para que después sea más fácil de encontrarlo todo. A la vista le hemos llamado inicio (sólo hemos renombrado welcome_message).

codeigniter

URL MÁS AMIGABLES, ARCHIVO HTACCES

Al acceder al proyecto desde el navegador, insertando el sitio únicamente, ya nos accedía ha index.php porque lo hemos configurado, pero pero si queremos acceder directamente desde la url Codeigniter funciona de la siguiente manera:

Servidor/página de inicio/controlador/acción

Un caso práctico sería el siguiente:

http://localhost:8888/miSitio/index.php/home/index
Para que quede más amigable todavía y no necesitamos el index.php, en este caso, usaríamos un fichero htacces.

htacces según Wikipedia

Es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.

Creamos un archivo en la raíz que se llame .htaccess (archivo oculto en mac y linux por el punto antes de la palabra) con el siguiente contenido:

Ahora probamos si realmente ha funcionado quitando index.php de la url:

codeigniter

VIDEOTUTORIAL

LINKS DE INTERÉS

 Descargar proyecto completo hasta ahora (Pagina de Juan Manuel)

1. Conocimientos básicos e instalación.

2. Estructura de carpetas, archivos de configuración y urls amigables.

3. Instalación y configuración de Bootstrap twitter.

4. Mejoras visuales y creación de la base de datos

5. Variables de sesión, constructor, formularios y helpers

6. Primera librería, modelos y modificar helper creado.

7. Acceso al modelo usuario y validaciones propias.

8. Acceso al modelo perfil, formularios y validaciones.

9. Acceso al modelo menu y menu del sistema.

10. Modelo usuario.

11. Relación menú perfil.

12. Seguridad de la aplicación.

The following two tabs change content below.
Programador por definición, diseñador por hobby, futuro Ingeniero Informático y amante de lo sencillo.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies. CERRAR