FuelPHP-패키지

패키지는 코드 재사용의 모듈과 유사하지만 다음과 같은 점이 다릅니다.

  • 웹 URL에 매핑되지 않습니다.
  • HMVC 요청을 통해 접근 할 수 없습니다.

간단히 말해서, 패키지는 블로그, 앨범 등과 같은 직접적인 웹 기능이 아닙니다. 대신 이메일 처리, 문서 생성, 차트 생성, 인증 등과 같이 함께 그룹화 된 기능의 라이브러리로, 웹의 빠른 개발을 지원합니다. 신청.

패키지 생성

패키지를 생성하려면 먼저 다음과 같이 지정된 소스 코드를 정렬해야합니다.

/fuel 
   /packages 
      /package (root directory of package) 
         /bootstrap.php 
      /classes 
         /our.php 
      /classes.php 
         /here.php 
      /config 
         /config.php 
         /and_so_on

패키지 구조에는 두 개의 패키지 특정 파일, config.php 및 bootstrap.php 파일이 있습니다. 구성 파일의 목적은 기본 응용 프로그램을 방해하지 않고 패키지 폴더 자체 아래에 패키지 구성을 그룹화하는 것입니다. 부트 스트랩 파일의 목적은 오토로더가 올바르게로드하도록 네임 스페이스를 설정하는 것입니다.

네임 스페이스를 설정하는 방법은 다음과 같습니다.

Autoloader::add_namespace('Mypackage', __DIR__.'/classes/'); 
Autoloader::add_core_namespace('Mypackage'); 
Autoloader::add_core_namespace('Mypackage', true); 
Autoloader::add_classes (array( 
   'Mypackage\\Classname' => __DIR__.'/classes/classname.php', 
   'Mypackage\\Anotherclass' => __DIR__.'/classes/anotherclass.php', 
));

부트 스트랩 파일이 제대로 구성되고 패키지가 애플리케이션에로드되면 다음과 같이 사용할 수 있습니다.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;

패키지 설치

패키지는 일반적으로 fuel / packages 디렉토리에 있습니다. 기본적으로 다음 패키지가 설치됩니다.

  • auth − 인증 패키지

  • email − 이메일 패키지

  • oil − 연료의 명령, 오일 패키지

  • orm − ORM 패키지

  • parser − Markdown 파서 패키지

새 패키지를 설치하려면 다음 두 가지 옵션이 있습니다.

Option 1 − 수동 설치-다운로드 및 설치

패키지를 수동으로 설치하려면 먼저 작성자의 웹 사이트에서 패키지를 다운로드하십시오. 포장을 풀고 아래에 놓습니다.fuel/packages/ 폴더.

Option 2 − 오일 명령을 이용한 자동 방법

FuelPHP는 github에서 호스팅되는 패키지를 자동으로 설치하는 방법을 제공합니다. 다음 명령을 사용하여 mytestpackage 패키지를 설치합니다.

php oil package install mytestpackage

git 클라이언트를 사용하여 패키지 소스 코드를 복제하고 fuel / packages 폴더로 이동합니다. git 클라이언트를 사용할 수없는 경우 –direct 명령 인수를 사용하여 다음과 같이 패키지를 다운로드하고 설치하도록 명령을 지시 할 수 있습니다.

php oil package install mytestpackage --direct

패키지 사용

패키지는 애플리케이션에로드되면 애플리케이션에서 사용할 수 있습니다. 패키지를 응용 프로그램에로드하는 방법에는 두 가지가 있습니다.

Option 1 − 패키지 클래스를 통해

FuelPHP는 클래스를 제공합니다. Package load, unload 및 loaded 메소드를 통해 각각 패키지를로드, 언로드 및 확인합니다. load메소드에는 두 개의 매개 변수가 있습니다. 첫 번째 매개 변수는$package 패키지 이름과 두 번째 매개 변수입니다. path패키지의 경로입니다. 두 번째 매개 변수는 패키지가 다음 위치에 설치된 경우 선택 사항입니다.fuel/packages 폴더.

// load the orm package 
Package::load('orm');  

// load the parser package from a specific directory 
Package::load('parser', '/path/to/packages/dir/');  

// load the non-existent package 
Package::load('awesome'); // Throws a PackageNotFoundException

Option 2 − 구성 파일을 통해

패키지를 영구적으로로드하려면 아래에 패키지를 추가하십시오. always_load 기본 구성 파일의 구성 항목, fuel/app/config/config.php. 이메일 패키지를로드하려면 다음 구문을 사용하십시오.

'always_load' => array ( 
   'packages' => array ( 
      'email', 
   ), 
),

패키지가 애플리케이션에로드되면 다음과 같이 사용할 수 있습니다.

$instance = new Myclass; 
$instance = new Mynamespace\Myclass;