En
este artículo les voy a poner un ejemplo de cómo usar la clase Parser en un
archivo de vista.
La
Clase Parser le permite analizar seudo-variables contenidas dentro de los
archivos de vistas. Puede analizar variables simples o pares de etiquetas
variables. Si nunca has usado un motor de plantillas, las seudo-variables se
ven así:
<html>
<head>
<title>{titulo}</title>
</head>
<body>
<h3>{encabezado}</h3>
[Contenido
de la pagina…]
</body>
</html>
Estas
variables no son realmente variables de PHP, sino representaciones en texto
plano que le permiten eliminar el PHP de sus plantillas (archivos de vistas).
Nota: CodeIgniter no le obliga a usar
esta clase ya que usando PHP puro en sus páginas de vista les permite correr un
poco más rápido. Sin embargo, algunos desarrolladores prefieren usar un motor
de plantillas si trabajan con diseñadores quienes sienten alguna confusión al
trabajar con PHP.
Lo primero que tenemos que hacer es inicializar la clase
Parser, como la mayoría de las clases en CodeIgniter, la clase Parser se
inicializa en su controlador usando la función
$this->load->library('parser');
Una vez cargada, el objeto de la bibioteca Parser estará
disponible usando: $this->parser.
Este método acepta un nombre de plantilla y un array de
datos como entrada y genera la versión analizada.
Ejemplo:
$this->load->library('parser');
$data = array(
'title' => 'El
Titulo de la vista',
'encabezado' =>
'El Encabezado de la vista'
);
$this->parser->parse('nombre_de_la_vista', $data);
El primer parámetro contiene el nombre del archivo de
vista (en este ejemplo el archivo se llamaría nombre_de_la_vista.php), y el segundo parámetro contiene un array
asociativo de datos a reemplazarse en la plantilla. En el ejemplo anterior, la
plantilla contendría dos variables: {titulo} y {encabezado}.
Existen otras formas de utilizar la clase parser. Un
ejemplo de esto es la función parse_string():
$this->parser->parse_string();
Este método trabaja exactamente igual que parse(), solo
que acepta una cadena como primer parámetro en lugar de un archivo de vista.
Ejemplo:
$hrml = '<html>
<head>
<title>{titulo}</title>
</head>
<body>
<h3>{encabezado}</h3>
[Contenido de la pagina…]
</body>
</html>';
$this->parser->parse_string($html, $data);
Bueno,
esto es una breve experiencia de mi experiencia usando la clase Parser, espero
haya podido ser de ayuda.
No hay comentarios:
Publicar un comentario