Zend Framework: creación de un módulo

En este capítulo, aprenderemos cómo crear un módulo basado en MVC en Zend Framework. Creemos un módulo llamado comoTutorial comprender el proceso de creación del módulo.

  • Crea una nueva clase PHP llamada Module dentro del directorio –myapp / module / Tutorial / src / e implementar ConfigProviderInterface.

  • Conjunto Tutorial como el espacio de nombres para el Module clase.

  • Escribe una función pública getConfig en el Module class y devolver el archivo de configuración para el Tutorial Módulo.

El código completo para el Module la clase es la siguiente:

<?php  
namespace Tutorial; 
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface { 
   public function getConfig() {    
      return include __DIR__ . '/../config/module.config.php'; 
   }    
}

Configurar el Tutorial módulo en el composer.json bajo la autoload sección utilizando el siguiente código.

"autoload": { 
   "psr-4": { 
      "Application\\": "module/Application/src/", 
      "Tutorial\\": "module/Tutorial/src/" 
   } 
}

Actualiza la aplicación usando el compositor update comando como se muestra a continuación.

composer update

los composer El comando hará los cambios necesarios en la aplicación y mostrará los registros en el símbolo del sistema como se muestra a continuación:

Loading composer repositories with package information 
Updating dependencies (including require-dev) 
   - Removing zendframework/zend-component-installer (0.3.0) 
   - Installing zendframework/zend-component-installer (0.3.1) 
   Downloading: 100%           
   
   - Removing zendframework/zend-stdlib (3.0.1) 
   - Installing zendframework/zend-stdlib (3.1.0) 
   Loading from cache  
   
   - Removing zendframework/zend-eventmanager (3.0.1) 
   - Installing zendframework/zend-eventmanager (3.1.0) 
   Downloading: 100%           
   
   - Removing zendframework/zend-view (2.8.0) 
   - Installing zendframework/zend-view (2.8.1) 
   Loading from cache  
   
   - Removing zendframework/zend-servicemanager (3.1.0) 
   - Installing zendframework/zend-servicemanager (3.2.0) 
   Downloading: 100%           
   
   - Removing zendframework/zend-escaper (2.5.1) 
   - Installing zendframework/zend-escaper (2.5.2) 
   Loading from cache  
   
   - Removing zendframework/zend-http (2.5.4) 
   - Installing zendframework/zend-http (2.5.5) 
   Loading from cache  
   
   - Removing zendframework/zend-mvc (3.0.1) 
   - Installing zendframework/zend-mvc (3.0.4) 
   Downloading: 100%          
   
   - Removing phpunit/phpunit (5.7.4) 
   - Installing phpunit/phpunit (5.7.5) 
   Downloading: 100%           

Writing lock file 
Generating autoload files

Cree el archivo de configuración del módulo, "module.config.php" en /config/ con el siguiente código -

<?php  
namespace Tutorial;  
   
use Zend\ServiceManager\Factory\InvokableFactory; 
use Zend\Router\Http\Segment;  
return [ 
   'controllers' => [ 
      'factories' => [Controller\TutorialController::class => InvokableFactory::class,], 
   ],
   'view_manager' => [ 
      'template_path_stack' => ['tutorial' => __DIR__ . '/../view',], 
   ], 
];

El archivo de configuración tiene tres partes y son las siguientes:

  • Controller configuration - Especifique los controladores disponibles dentro del Módulo.

  • Routing configuration - Especifique cómo los controladores del módulo deben resolverse en URL.

  • View configuration - Especifique la configuración relacionada con la visualización del motor, como la ubicación de las vistas, etc.

Configurar el Tutorial módulo en el archivo de configuración de nivel de aplicación - myapp / config / modules.config.php.

return ['Zend\Router', 'Zend\Validator', 'Application', 'Tutorial'];

Ejecute la aplicación ejecutando el composer serve en la raíz de la carpeta de la aplicación.

Hemos agregado con éxito un nuevo módulo, pero aún necesitamos agregar el Controller, Routing y Views para ejecutar con éxito el Tutorial módulo.