Zend 프레임 워크-모듈 생성
이 장에서는 Zend 프레임 워크에서 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',],
],
];
구성 파일은 세 부분으로 구성되며 다음과 같습니다.
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 기준 치수.