Crear el controlador Vamos a crear el controlador IndexController.php enmodule/HolaMundo/src/HolaMundo/Controller. Antes de entrar en el cdigo, vamos a resumir lo que haremos en todo este artculo. Crearemos un controlador que ser invocado al acceder a travs del navegador web. Luego, este controlador acceder a un modelo que devolver el mensaje Hola Mundo!. A continuacin, ese mensaje se le pasar a la vista y all se imprimir. Ahora s, veamos qu tiene nuestro controlador:
<?php namespace HolaMundo\Controller;
use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; use HolaMundo\Model\HolaMundo;
class IndexController extends AbstractActionController { Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
public function indexAction( { $holaMundo = new HolaMundo();
return new ViewModel($data); } } Crear el modelo Ahora veamos el modelo, cuyo nombre es HolaMundo.php y la ubicacinmodule/HolaMundo/src/HolaMundo/Model/
<?php
namespace HolaMundo\Model;
class HolaMundo { public function getSaludo() { return 'Hola Mundo!'; } } Se aade arriba el namespace y luego se crea una clase comn y corriente de PHP. Nuevamente el mtodo es pblico y cmo podemos apreciar, no hace mucho. Simplemente devuelve el mensaje que luego mostraremos. Crear la vista La vista se compone de varios archivos. Los vinculados a errores, que se encuentran enmodule/HolaMundo/view/error, es decir, index.phtml y 404.phtml, pueden ser tomados de la aplicacin esqueleto. En este ejemplo no sern necesarios en realidad, pero es recomendable tenerlos por si cometemos un error al crear nuestro mdulo. El archivo layout.phtml, que se encuentra en module/HolaMundo/view/layout es el que tendr la estructura bsica en HTML.
<?php echo $this->doctype(); ?> <html> <head> <title>Hola Mundo! en Zend Framework 2</title> </head> <body> <h1>Zend Framework 2</h1> Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
<?php echo $this->content; ?> </body> </html> Este archivo HTML ser el primero en cargarse luego del controlador. La primera lnea sirve para cargar el doctype. Luego, en $this->content estar el contenido de nuestro controlador as que lo mostramos por medio de echo. Ya veremos cmo es que se vincula el controlador con la vista. En module/HolaMundo/view/HolaMundo/index se encuentra el archivo index.phtml que tiene la vista particular vinculada a la accin.
<h2><?php echo $this->saludo; ?></h2>
Configuracin en module.config.php En la ruta HolaMundo/config hay un archivo muy importante de configuracin del mdulo:module.config.php. Se podra dedicar un artculo entero a este archivo, pero para este caso vamos a simplificar el asunto. Tomaremos el archivo original de la aplicacin esqueleto y lo copiaremos a nuestro mdulo. All le haremos algunas modificaciones y eliminaremos muchas lneas de cdigo hasta dejarlo de la siguiente manera.
Archivo de configuracin Module.php No vamos a modificar casi nada de este archivo. As que lo copiaremos directamente de la aplicacin esqueleto y le modificaremos el namespace para adaptarlo a nuestro mdulo.
namespace HolaMundo;
use Zend\Mvc\ModuleRouteListener; use Zend\Mvc\MvcEvent;
class Module { public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); } Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
public function getConfig() { return include __DIR__ . '/config/module.config.php'; }
Desactivar aplicacin esqueleto y activar el mdulo creado A continuacin le vamos a indicar al framework qu mdulos estarn activos. El que se vincula a la aplicacin esqueleto ser desactivado y el que hemos creado, activado. Para realizar este procedimiento hay que modificar el archivo application.config.php que se encuentra en config, pero del directorio principal de la aplicacin, fuera de la estructura de nuestro mdulo. Lo que podemos hacer es buscar el principio del archivo donde se muestran los mdulos activos
'modules' => array( 'Application', ), Y cambiarlo por:
'modules' => array( 'HolaMundo', ),
Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
),
Ahora Zend si tendr en cuenta de que hay un nuevo mdulo en el proyecto, ejecuta en el navegadorhttp://tutorial-zend.localhost/administracion/ y sorpresa un nuevo mdulo ha sido creado.
class ExtendedForm extends Form { protected $_name; protected $_rawElements = array(); public function __construct($name = null) { parent::__construct($name);
Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
//File : App_folder/module/Module_name/src/Module_name/Form/ExtendedFormValidator. php namespace Application\Form; use Zend\InputFilter\InputFilter;
class ExtendedFormValidator extends InputFilter {
public function __construct($elements) { foreach ($elements as $element) { if (is_array($element)) { if (isset($element['type'])) { unset($element['type']); } $this -> add($element); } } }
Creacin de Zend Framework 2 Form Validator //File : App_folder/module/Module_name/src/Module_name/Form/ExtendedFormValidator. php namespace Application\Form; use Zend\InputFilter\InputFilter;
class ExtendedFormValidator extends InputFilter {
public function __construct($elements) { foreach ($elements as $element) { if (is_array($element)) { if (isset($element['type'])) { unset($element['type']); } $this -> add($element); } } }
}
Creacin sencilla Formulario Zend Framework 2 y extendindolo con ExtendedForm //File : App_folder/module/Module_name/src/Module_name/Form/ResendPassword.php namespace Application\Form;
class ResendPassword extends ExtendedForm { public function __construct($name = null) Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
Crear instancias de la Forma de Zend Framework 2. //File : App_folder/module/Module_name/src/Module_name/Controller/IndexController. php use Application\Form as Form; //at the top of the file.
public function forgotAction(){
$form = new Form\ResendPassword(); if($form->isValid($this->getRequest())){ //do your magic } return new ViewModel(array('form'=>$form)); }
Representacin de Zend Framework 2 Form en la vista. //File : App_folder/module/Module_name/View/Module_name/index/index.phtml $form = $this->form; Alumna: Hilda Calva Prez. Asignatura: Tecnologa y aplicaciones web. Tarea: Estructura bsica del mdulo Zend e instrucciones para crear un formulario.
El Término Mecánico Se Refiere Principalmente para Denominar A Todos Los Profesionales Que Se Ocupan de La Construcción de Equipos Industriales y Maquinarias