FuelPHP-パッケージ
パッケージはコードの再利用においてモジュールに似ていますが、次の点で異なります。
- WebURLにマップされません
- HMVCのリクエストでは近づきません
つまり、パッケージはブログやアルバムなどの直接的なWeb機能ではありません。代わりに、電子メール処理、ドキュメント作成、チャート作成、認証などのグループ化された機能のライブラリであり、Webの開発を迅速化するのに役立ちます。応用。
パッケージの作成
パッケージを作成するには、まず次のように指定したソースコードを配置する必要があります。
/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ファイルの2つのパッケージ固有のファイルがあります。構成ファイルの目的は、メインアプリケーションに影響を与えることなく、パッケージフォルダー自体の下にパッケージの構成をグループ化することです。ブートストラップファイルの目的は、オートローダーが名前空間を正しくロードするように名前空間を設定することです。
名前空間を設定するいくつかの方法は次のとおりです。
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 −マークダウンパーサーパッケージ
新しいパッケージをインストールするには、次の2つのオプションがあります。
Option 1 −手動インストール-ダウンロードしてインストール
パッケージを手動でインストールするには、最初に作成者のWebサイトからパッケージをダウンロードします。開梱して下に置きますfuel/packages/ フォルダ。
Option 2 −オイルコマンドを使用した自動方式
FuelPHPは、githubでホストされているパッケージをインストールする自動化された方法を提供します。次のコマンドを使用して、パッケージmytestpackageをインストールします。
php oil package install mytestpackage
gitクライアントを使用してパッケージのソースコードのクローンを作成し、fuel / packagesフォルダーに移動します。gitクライアントが利用できない場合は、–directコマンド引数を使用して、次のようにパッケージをダウンロードしてインストールするようにコマンドに指示できます。
php oil package install mytestpackage --direct
パッケージの使用
パッケージは、アプリケーションにロードされると、アプリケーションで使用できます。パッケージをアプリケーションにロードする方法は2つあります。
Option 1 −パッケージクラスを介して
FuelPHPはクラスを提供します Package ロード、アンロード、およびロードされたメソッドを介して、それぞれパッケージの可用性をロード、アンロード、およびチェックします。 loadメソッドには2つのパラメーターがあります。最初のパラメータ、$package パッケージの名前と2番目のパラメータです。 pathパッケージのパスです。パッケージがにインストールされている場合、2番目のパラメーターはオプションです。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;