FuelPHP-모듈
모듈은 블로그, 앨범, 채팅 등과 같은 재사용 가능한 웹 기능을 작성하는 좋은 방법입니다. 모듈은 웹 애플리케이션의 다른 코드를 방해하지 않습니다. 자체 폴더에 있으며 자동으로 기능을 제공합니다. 모듈은 그룹화, 구성 및 특수 폴더에 배치된다는 점을 제외하고는 단순히 동일한 컨트롤러, 모델 및보기입니다. 일반적으로 모듈은 일반적으로 fuel / app / modules에있는 modules라는 애플리케이션의 하위 디렉토리에 있습니다.
모듈 구성
메인 애플리케이션 구성 파일 인 fuel / app / config / config.php에서 다음과 같이 모듈 경로를 정의 할 수 있습니다.
'module_paths' => array (
path/to.’modules'.DS, // path to application modules
path/to.’..’.DS.'globalmods'.DS // path to our global modules
),
모듈 네임 스페이스
FuelPHP에서 모든 모듈에는 자체 PHP 네임 스페이스가 있습니다. 별도의 네임 스페이스를 설정하면 이름 충돌이 수정됩니다. 예를 들어 EmployeeModule 네임 스페이스 아래에 직원 모듈 을 다음과 같이 설정할 수 있습니다 .
<?php
namespace Employeemodule;
class Controller_Employee {
//code here
}
모듈의 이름은 모듈의 폴더 이름과 동일해야합니다.
모듈 구조
구성에 정의 된 폴더 이름을 생성하여 모듈을 생성 할 수 있습니다. 폴더 이름은 모듈의 이름과 모듈에있는 클래스의 네임 스페이스 이름을 결정합니다.
모듈의 구조는 다음과 같습니다.
- classes
- controller
- model
- view
- config
- lang
- tasks
- views
모듈은 자체 구성 파일을 가질 수 있습니다. 라우팅 설정에 매우 유용하며 애플리케이션의 원래 구성을 방해하지 않습니다. 또 다른 중요한 개념은 다음과 같이 always_load 구성 섹션에서 모듈을로드하여 모듈 클래스를 재사용 할 수 있다는 것입니다.
'always_load => array (
'modules' => array('employeemodule'),
),
또한 다음과 같이 구성하지 않고도 모듈을 즉시로드하여 사용할 수 있습니다.
Module::load('employeemodule');
\Employeemodule\Myclass::mymethod('params');