Paso de Variables
Vamos a seguir con el contenido estático.
Esta vez conoceremos como dar distintos valores a cada una de nuestras paginas, con el modelo de trabajo del MVC o de tres capas.
Lo primero que deberemos hacer es habilitar las vistas, para ello iremos a nuestro proyecto y allí abriremos application.ini, que recordamos estaba en: application/configs
Allí introduciremos el siguiente código:
resources.view[]=
dentro de la etiqueta de Production, que recordemos es heredada por todas las demás.
Una vez habilitadas las vistas, iremos al controlador que hemos creado (MiprimerzendController.php) que recordamos esta en: application/Controller
Allí sustituiremos las Acciones que habíamos creado, o mejor dicho su contenido por:
public function miprimerzendAction()
{
$this->view->Titulo = “Esta es mi Primera Pagina con Zend”;
$this->view->Comentario = “Estoy comentando mi Primera Pagina con Zend”;
}
public function miprimeractionAction()
{
$this->view->Titulo = “Este es mi Primer Action con Zend”;
$this->view->Comentario = “Estoy comentando Primer Action con Zend”;
}
como podemos ver nos llamamos a nosotros mismos con $this, después a la vista con view, y le damos el nombre de la variable Titulo y Comentario, a lo que le damos un valor (String) mediante el símbolo de “=” igual, terminando en “;”
Ahora iremos a Nuestra plantilla (layouts), y sustituiremos su titulo por este:
<title>
<?php
echo $this->Titulo;
?>
</title>
Lo que hacemos es abrir una etiqueta de php, para poder usar la programación <?php, con su cierre al final ?>; después con el echo imprimimos el Titulo, al llamarlo con el $this->Titulo, al estar en la pagina no es necesario llamar a la vista, así que nos recupera el titulo de la pagina en la que estemos.
Ahora es el momento de ir a nuestras vistas, recordemos que tenemos una para cada pagina, y cada vista esta dentro de una carpeta con el nombre del controlador, así que iremos a: application/views/scripts/miprimerzend
en cada una de las vistas teclearemos el siguiente código
echo $this->Comentario;
Esto no debe tener ningún misterio para nosotros, ya que es el mismo del titulo que acabamos de hacer, pero en lugar de llamar a titulo llamamos a Comentario (recordar que php es sensible a mayúsculas y minúsculas, por lo que no es lo mismo Comentario que comentario)
Si abrimos nuestra web, veremos algo parecido a esto:
Con lo que ya sabemos pasar variables desde el controlador a la vista, sea mediante la plantilla (si queremos que salga siempre esa variable en todas las paginas), o mediante las vistas (para cada pagina en concreto).
Apasionado de la montaña, del SEO y la programación a partes iguales, llevo más de 20 años trabajando en distintos sectores, pero siempre enfocado a la web, si quieres saber más de mí, sigue el enlace.