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.json 下 autoload 次のコードを使用してセクションを作成します。
"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 モジュール。