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.