(1) Primers pasos amb Haanga: Qué és? Com Instal·lar-ho?


logo haanga

Què és Haanga?

Haanga és un motor de plantilles que utilitza la sintaxi de Django. Al principi va ser desenvolupat per Menéame, però es va decidir llançar com un projecte independent perquè pugui ser utilitzat per qualsevol persona 🙂

Algunes de les característiques de Hangaa:

  • Llegible per humans.
  • Fàcil d’usar i mantenir
  • Molt eficient perquè cada plantilla és compila a un script PHP.
  • El codi generat està llest per funcionar amb qualsevol optimitzador de codi PHP(com XCache).

Per què un motor de plantilles?

  • A Menéame el rendiment és prioritari.
    1. La compilació es fa solament en el pitjor dels casos (quan no hi ha una plantilla o la plantilla és més recent que la generada)
    2. En general, només una petita porció de Haanga es carrega (la que comprova i determina si és necessària una compilació).
    3. El codi generat està optimitzat
      1. Una funció es genera.
      2. Tot és PHP (sense canvis de context entre HTML i PHP)
  • La sintaxi de Django és molt bonica 🙂

Inicis del projecte

Tot va començar amb un tweet, Meneame (una web de codi obert similar a Digg) estava buscant un motor de plantilles eficient.

El nom del projecte prové de la paraula guaraní Ha’anga que significa “dibuixar” o “forma”

Instal·lació (OpenSuSe 11.4)

Nota: Tot açò es fa tenint en compte que teniu instal·lat un servidor LAMP(Linux, Apache, MySQL i PHP) i que la carpeta on estarà el projecte es troba dins del servidor (a la carpeta “www” o “public_html”).

 

  • Baixem la darrera versió d’Haanga de la pàgina de descarregues.
  • Creem una carpeta que anomenarem “prova” (per exemple) dins del nostre directori “www” o el que apunte al nostre servidor Apache.
  • Descomprimim l’arxiu i ens movem a la carpeta “lib”.

PEAR

Ens fa falta el paquet php5-pear, que instal·larem amb un senzill:”

sudo zypper install php5-pear

Després fem al terminal:

pear channel-discover pearhub.org pear install pearhub/Haanga

Podeu instal·lar la versió en desenvolupament mitjançant GIT (que déu estar instal·lat) i amb aquesta comanda:

git clone git://github.com/crodas/Haanga.git

Podeu provar com funciona al navegador amb un exemple així:

A dins de la carpeta “prova” que hem creat al nostre directori “www” o “public_html”, tindrem el fitxer “Haanga.php” i un directori per als “templates”, i altre amb els arxius necessaris d’Haanga que també ens hem baixat, i que porta el mateix nom.

Crearem un fitxer “index.php“, i ficarem açò:

 
<?php
require "Haanga.php";
$config = array(
      'template_dir' => 'templates/',
       'cache_dir' => '/tmp',
        'autoload' => TRUE,
       /* Opcions que són passades al compilador */
      'compiler' => array(),
);
Haanga::configure($config);  

$user = array('name' => 'Jordi Juan');
$title   = 'Provant Haanga';
$vars = compact('user', 'title');
Haanga::Load('template.html', $vars);

Després, dins de la carpeta “templates”, crearem un fitxer anomenat “template.html“. Com podeu veure, al fitxer “index.php” li indiquem que carregue aquesta plantilla.

 <html>
        <head>

            <title>{{ title|default:"Hola mundo"}}</title>

        </head>      
        <body>

        {% filter upper %}
            Salutacions {{ user.name }}
        {% endfilter %}

        </body>

 </html>

I ja està!! Si anem a http://localhost/prova/, veurem Haanga en acció!

haanga en acció


Deixa un comentari

L’adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Información básica sobre protección de datos Ver más

  • Responsable: Jordi Juan Pérez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a NICALIA que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad