Crear modelos en Zend Framework 2

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);
?>

Crear modelos en Zend Framework 2

Ya podemos mostrar en la vista todos estos datos.

Más información:
Documentación oficial de Zend Framework 2

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post