sábado, 29 de noviembre de 2014

Hola mundo!

En muchas ocasiones, cuando empezados a realizar nuestra primera aplicación en algún lenguaje de programación, nos enseñan a mostrar un texto muy básico... El mítico Hola Mundo!

En este caso, en nuestra aplicación vamos a crear una nueva página llamada "hola", por lo que tendremos que crear una vista y un controlador que realicen:
  • la aplicación despachará la página solicitada a la acción
  • y la acción devolverá la vista con el mensaje "Hola mundo!"

Creando la Acción

Crearemos una acción llamada decir que recibirá un parámetro de nombre mensaje. El mensaje recibido en el parámetro será el que se muestre. Si no se recibe ningún valor, se desplegará por defecto Hola Mundo! 

Si hemos trabajado antes con Yii en su versión 1, recordaremos que los controladores agrupan a las acciones. Por ahora, utilizaremos unos de los controladores ya existentes, el SiteController.

Localizamos el archivo
basic/controllers/SiteController.php
y añadimos el siguiente código:

    public function actionDecir($mensaje 'Hola Mundo!')
    {
        return $this->render('decir', ['mensaje' => $mensaje]);
    }

Dentro de nuestra clase de controlador SiteController hemos añadido la acción decir como un método de nombre actionDecir. Al igual que en la versión 1, Yii utiliza el prefijo action para cada identificador de las acciones.

El código en si mismo no es difícil de comprenderlo. Recibimos el parámetro mensaje cuyo valor por defecto es Hola Mundo!

El método render() devuelve la vista decir, a la cual le pasa el parámetro mensaje para que pueda ser utilizado por la misma.

Cuando demos nombre a nuestras acciones, debemos entender cómo trata Yii a los identificadores de las acciones. Un identificador de acción siempre es referenciado en minúsculas. Si se requiere de múltiples palabras, se debe separar con guiones (por ejemplo, crear-comentario). Los nombres de los métodos de las acciones son mapeados removiendo todos los guiones, colocando en mayúscula la primera letra de cada palabra y añadiendo el prefijo action. Por ejemplo, la acción crear-comentario se corresponde con el método actionCrearComentario.

Creando la Vista

Las vistas son escritas para generar el contenido de respuesta.

Continuando con nuestro ejercicio, crearemos el archivo
views/site/decir.php
con el siguiente contenido:

<?phpuse yii\helpers\Html;?>
<?= Html::encode($mensaje?>

Hay que notar que utilizamos Html::encode antes de mostrar el mensaje. Esto es necesario porque el parámetro proviene de un usuario final, y se puede sufrir de un ataque cross-site scripting (XSS) al recibir código malicioso JavaScript en el parámetro.

Obviamente podemos añadir código adicional a nuestra vista, como texto plano, código PHP, tags HTML.

Probando

Escribiendo la url http://hostname/index.php?r=site/decir obtenemos un resultado como el siguiente:




En este caso no hemos pasado el parámetro mensaje y se ha mostrado el texto por defecto. Pero si escribimos algo como http://hostname/index.php?r=site/decir&mensaje=Mi+propio+mensaje se presenta algo similar a ésta imagen:



Hasta aquí hemos dado un vistazo a lo que es MVC, aunque en éste ejemplo no hemos utilizado un modelo. Conforme avancemos iremos profundizando en todos estos temas.


También te puede interesar:
Instalando Yii 2
Funcionamiento y Arquitectura de Yii 2
Trabajando con bases de datos

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.