ZendFramework-モジュールの作成

この章では、ZendFrameworkでMVCベースのモジュールを作成する方法を学習します。と呼ばれるモジュールを作成しましょうTutorial モジュール作成プロセスを理解する。

  • 名前の付いた新しいPHPクラスを作成します Module –myapp / module / Tutorial / src /ディレクトリ内にあり、ConfigProviderInterfaceを実装します。

  • セットする Tutorial の名前空間として Module クラス。

  • パブリック関数を書く getConfig の中に Module クラスを作成し、の構成ファイルを返します Tutorial モジュール。

の完全なコード Module クラスは次のとおりです-

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

を構成します Tutorial のモジュール composer.jsonautoload 次のコードを使用してセクションを作成します。

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

コンポーザーを使用してアプリケーションを更新します update 以下に示すコマンド。

composer update

ザ・ composer コマンドは、アプリケーションに必要な変更を加え、以下に示すようにコマンドプロンプトにログを表示します-

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

モジュール構成ファイル「module.config.php」をで作成します。 /config/ 次のコードで-

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

設定ファイルは3つの部分に分かれており、次のとおりです。

  • Controller configuration −モジュール内で使用可能なコントローラーを指定します。

  • Routing configuration −モジュール内のコントローラーをURLに解決する方法を指定します。

  • View configuration −ビューの場所など、エンジンのビューに関連する構成を指定します。

を構成します Tutorial アプリケーションレベルの構成ファイル内のモジュール– myapp / config /modules.config.php。

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

を実行してアプリケーションを実行します composer serve アプリケーションフォルダのルートにあります。

新しいモジュールを正常に追加しましたが、それでも追加する必要があります Controller, Routing そして Views 正常に実行するには Tutorial モジュール。