TUTORIAL - PGINAS ESTTICAS
Nota: Este tutorial asume que ha descargado e instalado el CodeIgniter
marco en el entorno de desarrollo.
Lo primero que vamos a hacer es crear un controlador para manejar las
pginas estticas . Un controlador es simplemente una clase que ayuda a
delegar el trabajo . Es el pegamento de la aplicacin web .
Por ejemplo , cuando se hace una llamada a:
[Link]
Podemos pensar que hay un controlador llamado "news". El mtodo que se
llama de las noticias sera " latest" . El trabajo del mtodo noticia podra ser
para agarrar 10 noticias , y hacerlos en la pgina. Muy a menudo en MVC ,
usted ver los patrones de URL que coinciden con:
[Link] [ clase controlador ] / [ controller- mtodo ] /
[ argumentos ]
Como esquemas de URL se vuelven ms complejas , esto puede cambiar .
Pero por ahora, esto es todo lo que necesitamos saber.
Crear un archivo en application / controllers / [Link] con el siguiente
cdigo .
<? php
class Pages extends CI_Controller {
public function view ($page = 'home')
{
}
}
Ha creado una clase llamada "Pages" , con un mtodo de opinin de que
acepta un argumento con nombre $page . La clase de pginas est
extendiendo la clase CI_Controller . Esto significa que la nueva clase de
pginas se puede acceder a los mtodos y variables definidas en la clase
CI_Controller ( sistema / core / [Link] ) .
El controlador es lo que se convertir en el centro de cada solicitud a la
aplicacin web . En las discusiones de CodeIgniter muy tcnicos , puede ser
referido como el objeto super. Como cualquier clase php, se refieren a ella
dentro de sus controladores como $this . Refirindose a $this es cmo va a
cargar bibliotecas, puntos de vista, y por lo general mandan el marco .
Ahora que has creado tu primer mtodo , es el momento para hacer algunas
plantillas bsicas de pgina. Vamos a crear dos "vistas" (plantillas de
pgina) que actan como nuestro pie de pgina y el encabezado .
Cree el encabezado en application / views / templates / [Link] y
agregue el siguiente cdigo.
<html>
<head>
<title><?php echo $title ?> - CodeIgniter 2 Tutorial</title>
</head>
<body>
<h1>CodeIgniter 2 Tutorial</h1>
La cabecera contiene el cdigo HTML bsico que usted desea mostrar antes
de cargar la vista principal, junto con un ttulo. Adems proporcionar la
variable $titulo , que definiremos ms adelante en el controlador. Ahora cree
un pie de pgina en application / views / templates / [Link] que incluye
el siguiente cdigo:
<strong>© 2011</strong>
</body>
</html>
ADICIN DE LGICA AL CONTROLADOR
A principios de configurar un controlador con un mtodo view( ). El mtodo
acepta un parmetro, que es el nombre de la pgina a cargar. Las plantillas
de pginas estticas se ubicarn en la views / pages directorio de la
aplicacin / / .
En ese directorio, cree dos archivos denominados [Link] y [Link] .
Dentro de estos archivos , escriba algn texto - algo que te gustara - y
guardarlos . Si te gusta estar todo un- original, probar " Hello World ! " .
Con el fin de cargar las pginas , tendrs que comprobar si realmente existe
la pgina solicitada :
Public function view ($ page = 'home' )
{
if (! file_exists ( ' application / views / pages / ' . $ page . ' . php '))
{
/ / Vaya , no tenemos una pgina para eso!
show_404 ( ) ;
}
$ data [ ' title'] = ucfirst ( $ page ); / / Poner en mayscula la
primera letra
$ this -> load -> view ( ' templates / header' , $ data );
$ this -> load -> view ( ' pages / ' $ page , $ data . );
$ this -> load -> view ( ' templates / pie de pgina ' , $ data );
}
Ahora, cuando existe la pgina , se carga , incluyendo el encabezado y pie
de pgina, y se muestra al usuario. Si la pgina no existe , se muestra un
error " 404 Pgina no encontrada " .
La primera lnea de este mtodo comprueba si realmente existe la pgina.
Funcin file_exists nativas de PHP () se utiliza para comprobar si el archivo
es donde se espera que sea . show_404 () es una funcin integrada en
CodeIgniter que hace que la pgina de error por defecto .
En la plantilla de encabezado, se utiliz la variable $title para personalizar el
ttulo de la pgina. El valor del ttulo se define en este mtodo, pero en vez
de asignar el valor a una variable, se asigna al elemento de ttulo en la
matriz de $data .
La ltima cosa que se tiene que hacer se est cargando los puntos de vista
en el orden en que se deben mostrar . El segundo parmetro de la view( )
mtodo se utiliza para pasar valores a la vista. Cada valor de la matriz de
$data se asigna a una variable con el nombre de su clave. As que el valor
de $data ['title ' ] en el controlador equivale a $title en la vista.
ENRUTAMIENTO
El controlador est funcionando ! Apunte su navegador a [your-site-url]
[Link]/pages/view para ver su pgina. Cuando usted visita
[Link]/pages/view/about sobre vers la pgina acerca , otra vez
incluyendo el encabezado y pie de pgina.
El uso de reglas de enrutamiento personalizadas , usted tiene el poder de
asignar cualquier URI a cualquier controlador y el mtodo , y liberarse de la
convencin normal :
[Link] [ clase controlador ] / [ controller- mtodo ] /
[ argumentos ]
Vamos a hacer eso . Abra el archivo de rutas ubicado en
application/config/[Link] y aadir las dos lneas siguientes . Retire
todo el cdigo que establece ningn elemento de la matriz $route .
$route [' default_controller '] = ' pages / vista ';
$route [' (: any) ' ] = pages / view / $ 1' ;
CodeIgniter lee sus reglas de enrutamiento de arriba a abajo y de las rutas
de la solicitud a la primera regla coincidente . Cada regla es una expresin
regular (lado izquierdo) asignado a un nombre de controlador y el mtodo
separados por una barra (lado derecho). Cuando una peticin llega,
CodeIgniter busca el primer partido, y llama al controlador y mtodo
apropiado, posiblemente con argumentos.
Ms informacin sobre el enrutamiento se puede encontrar en la
documentacin URI Routing.
Aqu, la segunda regla en el array $rutes coincide con cualquier peticin
utilizando la cadena de comodn (: any). y pasa el parmetro a la vista
(mtodo) de la clase de pages .
Ahora visita [Link] / about. Lleg hasta esa ruta correctamente al
mtodo ()view en el controlador de pginas? Impresionante!