SlimFramework
SlimFramework php
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

El proyecto Slimstarter nos muestra cómo podemos publicar variables php a javascript en un ámbito global para que así puedan ser utilizadas en las templates con twig, para ello, tenemos que hacer algunas modificaciones pero nada complejo.

En este tutorial vamos a ver un claro ejemplo para finalmente acceder desde la vista a las variables ya parseadas.

Crear un controlador base

Lo primero que debemos hacer es crear un controlador base del que extiendan los demás, tan sencillo como el siguiente con los mismos métodos y propiedades.


Cómo puedes ver es muy simple, accedemos a la instancia de SlimFramework, creamos la propiedad $data y dos métodos, publish y unpublish, el primero para publicar variables y el segundo para eliminarlas.

Ahora crea el controlador AjaxController y añade el siguiente código.


Si te fijas, un método publica la variable user y el otro la elimina con el método unpublish, debemos recordar que para que funcione correctamente debemos renderizar la vista con la propiedad $this->data que es la que contiene la variable global llamada global.

La template master.twig

Ahora debemos crear la template master.twig con el siguiente contenido.


Simplemente debemos definir la variable global y codificarla en formato json, a partir de ahora todo lo que publiquemos con el método publish será accesible con globa.variable, definamos la template users.twig.


Recuerda que debes mapear el controlador AjaxController para acceder a las rutas, si ahora accedes al método getPublish y revisas la consola verás que aparece el usuario, si accedes al método getUnpublish verás que ya no aparece.