Zend Framework - Creazione di un modulo

In questo capitolo impareremo come creare un modulo basato su MVC in Zend Framework. Creiamo un modulo chiamato comeTutorial per comprendere il processo di creazione del modulo.

  • Crea una nuova classe PHP denominata Module all'interno della directory –myapp / module / Tutorial / src / e implementare ConfigProviderInterface.

  • Impostato Tutorial come spazio dei nomi per il Module classe.

  • Scrivi una funzione pubblica getConfig nel Module class e restituisce il file di configurazione per Tutorial Modulo.

Il codice completo per Module la classe è la seguente:

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

Configura il Tutorial modulo in composer.json sotto il autoload sezione utilizzando il codice seguente.

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

Aggiorna l'applicazione utilizzando il compositore update comando come mostrato di seguito.

composer update

Il composer Il comando apporterà le modifiche necessarie all'applicazione e mostrerà i log nel prompt dei comandi come mostrato di seguito -

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

Crea il file di configurazione del modulo, "module.config.php" in /config/ con il seguente codice -

<?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',], 
   ], 
];

Il file di configurazione ha tre parti e sono le seguenti:

  • Controller configuration - Specificare i controller disponibili all'interno del Modulo.

  • Routing configuration - Specificare come i controller nel modulo devono essere risolti in URL.

  • View configuration - Specificare la configurazione relativa alla visualizzazione del motore come la posizione delle viste, ecc.

Configura il Tutorial module nel file di configurazione a livello di applicazione - myapp / config / modules.config.php.

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

Esegui l'applicazione eseguendo il file composer serve nella radice della cartella dell'applicazione.

Abbiamo aggiunto con successo un nuovo modulo, ma dobbiamo ancora aggiungere il file Controller, Routing e Views per eseguire correttamente il Tutorial modulo.