En este primer tutorial veremos una forma sencilla y fácil de entender cómo comenzar con ZanPHP, y como ya es tradición lo haremos con un pequeño ejemplo de Hola Mundo, pero para mostrarles cómo funciona el HMVC de ZanPHP también realizaremos un Adiós Mundo.
Paso 1
Una vez descargado ZanPHP desde el repositorio de GIT (github.com/MilkZoft/ZanPHP), creamos una carpeta llamada "hello" dentro del directorio de "applications", y dentro de hello/, creamos otra carpeta que se llame "controllers", nuestro directorio debería quedar de la siguiente manera.
applications/hello
applications/hello/controllers
Paso 2
Una vez creadas las carpetas de la aplicación hello, abrimos cualquier editor de texto (Dreamweaver por ejemplo) y escribimos el siguiente código y lo nombramos controller.hello.php y lo guardamos dentro de la carpeta applications/hello/controllers/.
applications/hello/controllers/controller.hello.php
Código PHP:
<?php
/**
* Access from index.php:
*/
if(!defined("_access")) {
die("Error: You don't have permission to access here...");
}
class Hello_Controller extends ZP_Controller {
public function __construct() {
$this->app("hello");
}
public function index() {
print __("Hello World!");
}
}
?>
Las primeras lineas de código deberán ir en todos nuestros controladores, esto es para que tengas la seguridad de que nadie podrá acceder directamente a tus controladores, si no que tendrán que acceder por medio del index.php del sitio Web.
Después declaramos nuestra clase Hello_Controller y la extendemos a ZP_Controller, por convención, todas las clases deberán ir con la primer letra mayúscula y si tiene espacios se utiliza un guión bajo para separarla y todos los controladores deben extender a la clase ZP_Controller.
Creamos nuestro constructor y específicamos el nombre de nuestra aplicación en minúsculas (como se llama en la carpeta de applications) con el método $this->app("hello").
Por último tenemos un método inicial llamado index(), el cual es la base de cualquier controlador y en el hacemos un simple print pero utilizamos la función __() (son dos guines bajos) para hacer uso de las traducciones, las cuales la veremos un poco más adelante.
Paso 3
Para verificar que haya funcionado correctamente nuestra primera aplicación, accedemos a la dirección http:// localhost/zanphp/index.php/hello.
Si funciono todo correctamente nos debería mostrar el mensaje en inglés "Hello World!".
Cómo mencione anteriormente, la función __() sirve para hacer traducciones, si queremos traducir nuestro texto "Hello World!" al español, tenemos que modificar el archivo que esta en core/languages/language.spanish.php, en el cual agregamos la frase en inglés y su traducción, tendriamos un código parecido a este:
Código PHP:
function translation($text) {
switch($text) {
case "Hello World!": return "Hola Mundo!"; break;
case "Goodbye Cruel World!": return "Adiós Mundo Cruel!"; break;
}
return $text;
}
Para verificar que funcione nuestra traducción, volveremos a acceder a la dirección dada anteriormente pero después del index.php agregaremos las primeras dos letras del idioma que queremos mostrar en este caso "es" de Español.
http:// localhost/zanphp/index.php/es/hello
Esto traducirá automáticamente al Español todas las palabras que esten bajo __() en nuestra aplicación hello. ZanPHP soporta otros idiomas: Inglés (en), Fránces (fr), Portuguese (pt), Italiano (it) y Alemán (ge), se deberá crear un archivo de traducción por cada uno de ellos, por default se escriben las palabras en Inglés y de ahí se derivan las traducciones.
¿Y el adiós mundo cruel?
Una vez que verificamos que funcionaron las traducciones correctamente, crearemos otro controlador dentro de la carpeta controllers de nuestra aplicación hello y lo llamaremos controller.bye.php, y copiaremos el siguiente código:
Código PHP:
<?php
/**
* Access from index.php:
*/
if(!defined("_access")) {
die("Error: You don't have permission to access here...");
}
class Bye_Controller extends ZP_Controller {
public function __construct() {
$this->app("hello");
}
public function world() {
print __("Goodbye Cruel World!");
}
}
?>
Un controlador principal es aquel que se llama igual a la aplicación, los demás serán considerados controladores secundarios.
Para acceder el método world() del controlador bye desde la URL, lo haremos de la siguiente manera:
http:// localhost/zanphp/index.php/hello/bye/world
Si queremos traducir al Español ese controlador, simplemente añadimos "es" después de index.php:
http:// localhost/zanphp/index.php/es/hello/bye/world
Hasta aquí este primer tutorial básico, espero les haya gustado y hayan comprendido un poco sobre cómo funciona el HMVC de ZanPHP, en próximos tutoriales veremos cómo mandar parámetros y cosas más complejas, gracias por leernos.
Los invitamos a seguirnos por Twitter (@ZanPHP) y cualquier duda o comentario con gusto se las responderemos por ese medio.
Muchas gracias y espero que se animen a utilizar ZanPHP en sus desarrollos, saludos cordiales.