Veamos como crear modelos en Zend Framework 2.
Los tenemos que crear dentro del directorio src/Modulo un directorio llamado Model y dentro de este otro llamado Entity(opcional), ahí irán los modelos.
En Module/Modulo/src/Modulo/Model/Entity/PruebasModel.php creamos una clase modelo y definimos nuestros atributos y métodos que se comunicarán con el controlador.
<?php namespace Modulo\Model\Entity; class PruebasModel{ private $mensaje; private $usuarios; private $nombre; public function __construct(){ $this->mensaje="Modelo de Victor Robles en Zend Framework 2"; $this->usuarios=array(); } public function getMensaje(){ return $this->mensaje; } public function setUsuarios(){ $this->usuarios=array("Victor","Antonio","David","Manolo"); } public function getUsuarios(){ return $this->usuarios; } public function devuelveNombre($valor){ $this->nombre=$valor; return $this->nombre; } } ?>
El controlador module/Modulo/src/Controller/PruebasController.php
<?php namespace Modulo\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; //Incluir modelos use Modulo\Model\Entity\PruebasModel; class PruebasController extends AbstractActionController{ public function indexAction(){ //Creamos el objeto del modelo y llamamos a sus metodos $modelo=new PruebasModel(); $mensaje=$modelo->getMensaje(); $setUsuarios=$modelo->setUsuarios(); $usuarios=$modelo->getUsuarios(); $nombre=$modelo->devuelveNombre("Mi nombre es Victor"); //Pasamos a la vista todo lo que recogemos del modelo return new ViewModel( array( "mensaje"=>$mensaje, "usuarios"=>$usuarios, "nombre"=>$nombre ) ); } }
La vista module/Modulo/view/modulo/pruebas/index.phtml
<h1>Controlador PruebasController.php</h1> <?php //Comprobamos si nos llegan los datos correctamente var_dump($mensaje); var_dump($usuarios); var_dump($nombre); ?>
Ya podemos mostrar en la vista todos estos datos.
Más información:
Documentación oficial de Zend Framework 2