Zend Framework - Création d'un module
Dans ce chapitre, nous allons apprendre à créer un module basé sur MVC dans le Zend Framework. Créons un module appeléTutorial pour comprendre le processus de création du module.
Créez une nouvelle classe PHP nommée Module dans le répertoire –myapp / module / Tutorial / src / et implémentez ConfigProviderInterface.
Ensemble Tutorial comme espace de noms pour le Module classe.
Ecrire une fonction publique getConfig dans le Module class et renvoyez le fichier de configuration pour le Tutorial Module.
Le code complet du Module la classe est la suivante -
<?php
namespace Tutorial;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements ConfigProviderInterface {
public function getConfig() {
return include __DIR__ . '/../config/module.config.php';
}
}
Configurer le Tutorial module dans le composer.json sous le autoload section en utilisant le code suivant.
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Tutorial\\": "module/Tutorial/src/"
}
}
Mettre à jour l'application à l'aide du composeur update comme indiqué ci-dessous.
composer update
le composer La commande apportera les modifications nécessaires à l'application et affichera les journaux dans l'invite de commande comme indiqué ci-dessous -
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
Créez le fichier de configuration du module, «module.config.php» à /config/ avec le code suivant -
<?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',],
],
];
Le fichier de configuration comprend trois parties et sont les suivantes -
Controller configuration - Spécifiez les contrôleurs disponibles à l'intérieur du module.
Routing configuration - Spécifiez comment les contrôleurs du module doivent être résolus en URL.
View configuration - Spécifiez la configuration relative à la vue du moteur telle que l'emplacement des vues, etc.
Configurer le Tutorial module dans le fichier de configuration au niveau de l'application - myapp / config / modules.config.php.
return ['Zend\Router', 'Zend\Validator', 'Application', 'Tutorial'];
Exécutez l'application en exécutant le composer serve à la racine du dossier de l'application.
Nous avons ajouté avec succès un nouveau module, mais nous devons encore ajouter le Controller, Routing et Views pour exécuter avec succès le Tutorial module.