Zend Framework - Criando um Módulo
Neste capítulo, aprenderemos como criar um módulo baseado em MVC no Zend Framework. Vamos criar um módulo chamadoTutorial para entender o processo de criação do módulo.
Crie uma nova classe PHP chamada Module dentro do diretório –myapp / module / Tutorial / src / e implemente o ConfigProviderInterface.
Conjunto Tutorial como o namespace para o Module classe.
Escreva uma função pública getConfig no Module classe e retornar o arquivo de configuração para o Tutorial Módulo.
O código completo para o Module a aula é a seguinte -
<?php
namespace Tutorial;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface {
public function getConfig() {
return include __DIR__ . '/../config/module.config.php';
}
}
Configure o Tutorial módulo no composer.json debaixo de autoload seção usando o código a seguir.
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Tutorial\\": "module/Tutorial/src/"
}
}
Atualize o aplicativo usando o compositor update comando como mostrado abaixo.
composer update
o composer o comando fará as alterações necessárias no aplicativo e mostrará os logs no prompt de comando, conforme mostrado abaixo -
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
Crie o arquivo de configuração do módulo, “module.config.php” em /config/ com o seguinte 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',],
],
];
O arquivo de configuração tem três partes e são as seguintes -
Controller configuration - Especifique os controladores disponíveis dentro do Módulo.
Routing configuration - Especifique como os controladores no módulo devem ser resolvidos em URLs.
View configuration - Especifique a configuração relacionada à visualização do mecanismo, como a localização das visualizações, etc.
Configure o Tutorial módulo no arquivo de configuração de nível de aplicativo - myapp / config / modules.config.php.
return ['Zend\Router', 'Zend\Validator', 'Application', 'Tutorial'];
Execute o aplicativo executando o composer serve na raiz da pasta do aplicativo.
Adicionamos com sucesso um novo módulo, mas ainda precisamos adicionar o Controller, Routing e Views para executar com sucesso o Tutorial módulo.