Programar un “Hola mundo” con KumbiaPHP

En el tutorial anterior Introducción a KumbiaPHP vimos cómo crear el CRUD más rápido del oeste en solo cuatro líneas de código. Hoy quiero explicarles de manera un poco más detallada como programar un "Hola mundo" con KumbiaPHP. Recuerda revisar los Manules y Descargas de KumbiaPHP de la web oficial para enterarte de más.

Nueva aplicación con KumbiaPHP

Procedemos a la descarga de la última versión: KumbiaPHP 1.0 Una vez terminada la descarga, descomprimimos todo el contenido del archivo master.zip en el directorio web público y renombramos la carpeta con el nombre de nuestro proyecto. Para efecto del ejemplo, llamaremos a nuestro proyecto kumbiaphp.

Para comprobar su funcionamiento ingresen a http://localhost/kumbiaphp/ y deben visualizar la siguiente bienvenida:

El patrón de diseño MVC en KumbiaPHP

Como sabemos PHP nos permite mezclar código html para la vista y código que maneja la lógica de la aplicación en un mismo archivo, si lo están haciendo así dejen de hacerlo así sea para crear aplicaciones muy sencillas.

Cada framework implementa a su manera el patrón MVC y KumbiaPHP tiene una muy buena manera de hacerlo, nos da la guía para separar la lógica de la vista:

  • Modelos: Representan la información sobre la cual la aplicación opera, su lógica de negocios.
  • Vistas: Visualizan el modelo usando páginas web e interactuando con los usuarios de éstas.
  • Controladores: Responden a acciones de usuario e invocan cambios en las vistas o en los modelos según sea necesario.

El controlador

Para crear esta aplicación solo necesitamos un controlador y una vista, no necesitamos modelos ya que no realizaremos tratamiento a la información ni acceso a la base de datos.

Creamos el archivo say_controller.php dentro de la carpeta controllers

app/controllers/say_controller.php

Código :

<?php 
class SayController extends AppController {
 
    public function hello() 
    {
       
    }
}

El nombre del archivo debe llevar el sufijo _controller hace que KumbiaPHP identifique ese archivo como un controlador y el nombre de la clase es UserController en notación Camel Case.

Por ejemplo, si queremos nombrar un controlador que contiene más de dos palabras un ejemplo sería user_group_controller.php y el nombre de la clase UserGroupController.

La vista

Las vistas son automáticamente visualizadas si se sigue la convención de nombrarlas con el mismo nombre de la acción dentro de un directorio con el nombre del controlador en views. Por lo tanto creamos el archivo hello.phtml dentro de la carpeta say:

app/views/say/hello.phtml

Código :

<h1>¡Hola KumbiaPHP!</h1>

¡Hola KumbiaPHP!

Ahora sí ingresamos a esta dirección: http://localhost/kumbiaphp/say/hello/ veremos:

Las vistas permiten dar formato a la salida al usuario usando PHP embebido en HTML; por esto las vistas poseen extensión .phtml, a diferencia de los controladores, que poseen PHP puro, y por esto su extensión .php.

Las URLs en KumbiaPHP

Para entender el funcionamiento del framework, es importante entender sus URLs:

En producción, no queremos mostrar el nombre del directorio de instalación de KumbiaPHP. Para esto, simplemente hacemos que nuestro directorio default/public/ sea el directorio público del servidor:

En KumbiaPHP no existen las extensiones .php esto porque en primera instancia hay reescritura de URLs y además cuenta con un front-controller encargado de recibir todas las peticiones. Cualquier otra información pasada por URL es tomada como parámetro a la acción, a propósito de nuestra aplicación:

Esto es útil para evitar que tener estar enviando parámetros GET de la forma ?param1=value&param2=value2 (esto es, de la forma tradicional como se viene utilizando PHP), la cual revela información sobre la arquitectura de software que se dispone en el servidor. Además, hacen que nuestra URL se vea mal y se pierde SEO.

Agregando más contenido a la vista

KumbiaPHP implementa las variables de instancia lo que significa que todos los atributos definidos en el controller, pasarán automáticamente a la vista. Vamos a agregarle la fecha para que esta sea mostrada en la vista:

app/controllers/say_controller.php

Código :

<?php
class SayController extends AppController {
 
    public function hello()
    {
           $this->date = date("Y-m-d H:i");
    }
}

Y en la vista la imprimimos así:

app/views/say/hello.phtml

Código :

<h1>¡Hola KumbiaPHP!</h1>
Hoy es <?php echo $date ?>

Lo cual nos da resultado:

Ahora queremos darle más calidez al saludo y lo volvemos personal pidiéndole el nombre vía parámetro de la siguiente manera:

app/controllers/say_controller.php

Código :

<?php
class SayController extends AppController {
 
    public function hello($name)
    {
       $this->date = date("Y-m-d H:i");
       $this->name = $name;
    }
}

Y la vista queda así:

app/views/say/hello.phtml

Código :

<h1>¡Hola <?php echo $name ?>! Que lindo es usar KumbiaPHP ¿Verdad?</h1>
Hoy es <?php echo $date ?>

Si ingresamos a la siguiente URL: http://localhost/kumbiaphp/say/hello/cristalab nos mostrará el saludo junto con el nombre:

Hora de decir “Adiós”

Ya nuestra aplicación saluda, pero es hora decir “Adiós” y es muy sencillo agregamos la función goodbye en el controller say:

app/controllers/say_controller.php

Código :

<?php
class SayController extends AppController {
 
    public function hello()
    {
       
    }

    public function goodbye()
    {
       
    }
}

Y la vista hello.phtml queda así :

app/views/say/hello.phtml

Código :

<h1>¡Hola que lindo es usar KumbiaPHP ¿Verdad?</h1>
<?php echo Html::link('say/goodbye/', 'Adiós') ?>

Y Agregamos la vista googbye.phtml

app/views/say/googbye.phtml

Código :

<h1>Adiós</h1>
<?php echo Html::link('say/hello/', 'Volver a Saludar') ?>

Hemos creado en ambas vistas con la ayuda del helper Html usando para ello Html::link un enlace a cada acción, y si ingresamos a:

http://localhost/kumbiaphp/say/hello/

Veremos un enlace hacía la acción adios del controlador say, y si los pulsamos veremos lo siguiente:

Nótese la url que ha cargado: http://localhost/kumbiaphp/say/goodbye/ y si damos clic en el enlace Volver a saludar nos lleva de nuevo a la acción hello del controlador say.

Una vez más queda demostrado que KumbiaPHP es el framework más fácil y rápido para crear y mantener webs y aplicaciones con PHP.

Si tienen alguna duda pueden contactar a los más de 1500 programadores hispanos que usan KumbiaPHP a través del IRC, el grupo en Google de KumbiaPHP o el foro de KumbiaPHP. Personalmente recomiendo el grupo en Google.

Espero les haya gustado este corto tutorial, y… ¡Vamos por más!

Web oficial: http://ift.tt/nYGbLO
Proyecto en Github: http://ift.tt/1ffkb3G

Enviar comentario

via Cristalab http://ift.tt/1ffkag6

Advertisements

Tags:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: