lunes, 23 de enero de 2017

Usando la clase Parser en CodeIgniter


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.

¿Te ha gustado este Post? Compártelo con tus amigos.

No hay comentarios:

Publicar un comentario

IconIconIcon