DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
04-04-2016

Una de las cosas que hace prácticamente imprescindible el uso de framework MVC al momento de programar en PHP es la organización y legibilidad del código que viene también gracias a lo primero.

Evitar colocar código para inserciones, conexiones a base de datos, procesamiento de formularios con frameworks como CodeIgniter es muy fácil; al no emplear estos framework PHP puede que en algún momento se complique el asunto y tengamos que realizar alguna de las locuras mencionadas anteriormente.

Aparte de lo anterior, también se debe evitar de colocar demasiadas validaciones, ciclos como for o foreach al momento de pintar ciertos elementos en la vista por lo que se ha hablado hasta ahora.

Template Parser Class en CodeIgniter al rescate

Codeigniter rescate

Con la librería Template Parser Class de CodeIgniter se puede sustituir fácilmente estos elementos señalados anteriormente y crear una regla de anidamientos con menos código y mucho más limpio; por ejemplo, teniendo el siguiente código:

<html>
    <head>
        <title><?php echo $blog_title ?></title>
    </head>
    <body>
        <h3><?php echo $blog_heading ?></h3>
    </body>
</html>

Que genera el siguiente HTML en base a la colección de datos que dispone:

template parser ejemplo 1 Codeigniter

Con el Template Parser Class podemos simplificarlo o reducirlo al siguiente código:

<html>
    <head>
        <title>{blog_title}</title>
    </head>
    <body>
        <h3>{blog_heading}</h3>
    </body>
</html>

Usando Parser Class en CodeIgniter

Como con cualquier librería o clase, para emplear el Template Parser Class en CodeIgniter debemos de cargar la librería o clase asociada a través de:

$this->load->library('parser');

Con esta línea de código en nuestro controlador podemos comenzar a emplear el Template Parser Class.

Cómo pudiste ver anteriormente, ahora nuestra vista tiene una estructura diferente que en esencia es más simple; a a partir de ahora no cargaremos nuestra vistas de la manera tradicional:

$this->load->view('test/index', $data);

Si no ahora con parse:

$this->parser->parse('test/index', $data);

Iterando una colección de datos con el Parser Class

Lo más interesante de los Parser Class es precisamente no tener que usar la sintaxis clásica de los bucles como for o foreach en las vistas y ahorrarnos "ensuciar" las mismas; en su lugar creamos estructuras como la siguiente:

<html>
    <head>
        <title>{blog_title}</title>
    </head>
    <body>
        <h3>{blog_heading}</h3>

        {blog_entries}
        <h5>{title}</h5>
        <p>{body}</p>
        {/blog_entries}

    </body>
</html>

Desde nuestro controlador colocamos la siguiente colección de datos:

$data = array(
    'blog_title' => 'My Blog Title',
    'blog_heading' => 'My Blog Heading',
    'blog_entries' => array(
        array('title' => 'Title 1', 'body' => 'Body 1'),
        array('title' => 'Title 2', 'body' => 'Body 2'),
        array('title' => 'Title 3', 'body' => 'Body 3'),
        array('title' => 'Title 4', 'body' => 'Body 4'),
        array('title' => 'Title 5', 'body' => 'Body 5')
    )
);

Y logramos el mismo resultado que obtendremos al emplear un for o foreach en pero de una manera mucho más simple; nos da el siguiente resultado:

template parser ejemplo 2 Codeigniter

Puedes ver la documentación oficial en el siguiete enlace: Template Parser Class.


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

API REST en CodeIgniter

API REST en CodeIgniter

Algunos artículos que te pueden interesar

Detectando navegación móvil y datos del agente con CodeIgniter

Detectando navegación móvil y datos del agente con CodeIgniter

Veremos cómo detectar el agente, nombre del navegador y versión del navegador en donde se está ejecutando nuestra aplicación; incluso conocer si el navegador es móvil o no.

Andrés Cruz 14-08-2017

Login Social en Twitter con PHP-CodeIgniter y la Twitteroauth

Login Social en Twitter con PHP-CodeIgniter y la Twitteroauth

Andrés Cruz 23-02-2017

Template Parser Class en CodeIgniter

Template Parser Class en CodeIgniter

Con la libraría Template Parser en CodeIgniter se pueden crear reglas de anidamientos con menos código y mucho más limpio sin la necesidad de emplear for o foreach lo que ayuda a la organización y legibilidad del código.

Andrés Cruz 04-04-2016