I'm attending CakeFest 2010!

3.4.4.5 Vendor ファイルの読み込み

vendor() 関数は非推奨になりました。vendor ファイルはこれまでと同様に App::import() を使用して読み込むようになりました。構文はわずかに異なり、引数が追加されています。これは vendor ファイルの構造は大きく異なっていたり、すべての vendor ファイルにクラスが含まれているとは限らないためです。

以下は、いくつかのパス構造から vendor ファイルをどのように読み込むかという例です。vendor ファイルは、vendor フォルダにあると仮定します。

3.4.4.5.1 Vendor の例

vendors/geshi.php を読み込むには

App::import('Vendor', 'geshi');
  1. App::import('Vendor', 'geshi');

vendors/flickr/flickr.php を読み込むには

App::import('Vendor', 'flickr/flickr');
  1. App::import('Vendor', 'flickr/flickr');

vendors/some.name.php を読み込むには

App::import('Vendor', 'SomeName', array('file' => 'some.name.php'));
  1. App::import('Vendor', 'SomeName', array('file' => 'some.name.php'));

vendors/services/well.named.php を読み込むには

App::import('Vendor', 'WellNamed', array('file' => 'services'.DS.'well.named.php'));
  1. App::import('Vendor', 'WellNamed', array('file' => 'services'.DS.'well.named.php'));

ベンダーファイルが/app/vendorsディレクトリの内部にあっても、違いはありません。Cakeは自動的に検出します。

app/vendors/vendorName/libFile.php を読み込むには

App::import('Vendor', 'aUniqueIdentifier', array('file' =>'vendorName'.DS.'libFile.php'));
  1. App::import('Vendor', 'aUniqueIdentifier', array('file' =>'vendorName'.DS.'libFile.php'));