Jose Hernández

Twig, plantillas para PHP (II)

En la entrada anterior hablé un poco sobre Twig y PHP, ahora toca concluir la entrada finalizando el proyecto de ejemplo que comenzamos a realizar. Comenzaremos modificando los ficheros que creamos para cada marca de teléfono y lo dejaremos de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    require_once 'Twig/Autoloader.php';
    Twig_Autoloader::register();
    $loader = new Twig_Loader_Filesystem('templates');

    $twig = new Twig_Environment($loader, array(
                 'cache' => 'cache',
                 'debug' => 'true'));

    $template = $twig->loadTemplate('stock.twig.html');

    $marca = 'Nokia';
    $moviles = array(
        array(
            'nombre' => 'Nokia 500',
            'imagen' => 'nokia500.png'
        ),
        array(
            'nombre' => 'Nokia C5 5MP',
            'imagen' => 'nokiac55mp.png'
        ),
        array(
            'nombre' => 'Nokia C2-01',
            'imagen' => 'nokiac201.png'
        ),
        array(
            'nombre' => 'Nokia c5-03',
            'imagen' => 'nokiac503.png'
        )
     );

    echo $template->render(array('marca' => $marca, 'moviles' => $moviles));

Como observamos las primeras líneas son idénticas a lo que teníamos hasta ahora. A partir de la line 12 es donde comenzamos a ver las cosas nuevas. En concreto tenemos la variable $marca que contiene el nombre de la marca y la variable $moviles que es un array que contiene arrays con el nombre del modelo de teléfono y una imagen de este. Estos datos los podríamos haber obtenido de cualquier fuente de datos, una base de datos, un fichero, un servicio web. Pero para clarificar el ejemplo he decidido hacerlo así. La última line que vemos es la llamada al método render en ella, en esta ocasión en vez de pasarle un array vacío pasamos un array asociativo indicando un nombre y la variable que queremos que contenga. El nombre en el array asociativo es muy importante, ya que, posteriormente desde twig para acceder a las variables tendremos que usar el nombre que hemos indicado en el array asociativo.

Leer más

Twig, plantillas para PHP (I)

Twig es un motor de plantillas para PHP que destaca por su facilidad para usarlo y por su clara sintaxis que permite que se comprenda a la perfección por cualquier persona aunque no sea un desarrollador. Al igual que en la entrada anterior en la que hablaba sobre Silex, Twig es la otra herramienta que más llamó mi atención en las jornadas Symfony 2011.

Voy a realizar un pequeño ejemplo donde podremos ver algunas de las características con las que cuenta Twig. Para comenzar tenemos que descargarnos Twig. Vamos a la sección de instalación de su página y tenemos varias opciones para descargar: un fichero .zip o .tar, descargar a partir del repositorio Git y descargar mediante PEAR. En este caso voy a optar por descargar el fichero zip y lo guardaré dentro de la carpeta que he creado para el proyecto, ejemploTwig.

Leer más

NHibernate conexión a Oracle con ODBC

El otro día tuve que realizar una conexión a una base de datos Oracle por ODBC usando NHibernate y FluentNHibernate. La verdad es que me costó bastante encontrar la forma de realizar la conexión y después de conseguirlo el resultado no fue muy satisfactorio. Las consultas, modificaciones, inserciones y borrados de los datos se realiza satisfactoriamente, pero los problemas llegan cuando hay que hacer transacciones, inserciones y reutilización de objetos que acabamos de insertar y todas estas operaciones algo más complejas.

Comenzamos viendo como realizar la conexión. Lo primero que hay que crearse es una clase para la configuración a la que llamaremos OdbcConfiguration.

Leer más

Silex, micro framework para PHP

Actualización Octubre 2012: Con las últimas versiones de Silex el método para crear un proyecto con el fichero .phar a quedado obsoleto. Si quieres ver como crear un proyecto nuevo en Silex dale un vistazo a la entrada Actualizada la forma de crear un proyecto en Silex.

Una de las charlas que más me llamó la atención de las jornadas Symfony 2011 fue la que trataba sobre Silex. Por ello he decidido hacer una serie de posts en los que iré mostrando los pequeños pasos que voy aprendiendo sobre este micro framework.

Comencemos por el principio, Silex es un micro-framework para desarrollar aplicaciones y sitios web en PHP. Ha sido desarrollado por los mismos creadores que Symfony, uno de los frameworks más importantes y más usados de PHP. Sabiendo esto nos puede surgir la siguiente pregunta: si ya tenían uno de los mejores frameworks, ¿por qué desarrollan otro? La respuesta es muy sencilla, como he mencionado antes, Silex es un micro-framework, lo que quiere decir que su objetivo es ser utilizado para desarrollar pequeñas aplicaciones que no requieran una extensa configuración y que no serán utilizadas por una gran cantidad de usuarios.

Aunque pueda parecer que Silex está muy limitado y que por ello solo se debe usar en aplicaciones pequeñas, la realidad es todo lo contrario. Silex permite que se le añada nueva funcionalidad gracias a extensiones que son muy sencillas de crear. Además cuenta con algunas extensiones muy útiles ya desarrolladas que se pueden usar fácilmente.

Leer más

Personalización de un ListView

En la entrada anterior referente al uso del ListView comenté que realizaría una nueva, para mostrar como se puede personalizar este control. Ahora ha llegado el momento de ver como podemos realizar esta personalización. El ejemplo que voy a desarrollar es muy sencillo, únicamente quiero mostrar donde y como tenemos que modificar el código para poder mostrar los elementos como nosotros queramos. El resultado final será el siguiente:

Leer más

Control ListView ASP .NET

El ListView es un control de ASP .NET que nos permite listar y organizar de la forma que queramos los datos que recuperemos desde una base de datos, un fichero o cualquier otra fuente de datos. Este control es muy fácil de configurar y nos brinda grandes posibilidades para cambiar la apariencia en la que queremos que se muestren los datos. Vamos a ver un ejemplo de como utilízalo.

Para comenzar tenemos que crear un nuevo proyecto web ASP .NET, en mi caso los datos los voy a obtener de una base de datos local que he llamado DBPoblaciones. Esta base de datos únicamente tiene una tabla llamada Poblaciones en la cual tenemos el nombre, la superficie y el número de habitantes de algunas poblaciones.

Leer más