CakePHP2.xで非CakePHPの外部PHPコードを使う方法
CakePHP案件で、クライアントから非CakePHP(「素」のPHP)のクラス化されていない(ライブラリではない)共通関数を使うよう指定されたので、CakePHPから非Cakeの関数を呼び出す方法についてメモしておく。
App/Vendor/にファイルを置く
CakePHPプロジェクトのApp/Vendorに利用したい非CakePHPファイルをコピーする。サブディレクトリを作ってその中にコピーしても良い。
(ここではphpfunctions.phpというファイルを配置した)
App::Importで読み込み
利用したいControllerやModelの先頭(クラス定義の前)で、App::Importを使ってロードする。
App::import('Vendor', 'phpfunctions');
下の画像はAppControllerでの書き方の例
App:UsesではなくApp::Import
App:Uses()はCakePHPのライブラリをロードする場合に使用するので、非CakeのPHP関数を使う場合は、App::Importを使う。
関数を呼び出す
関数の呼び出しは通常のPHPの呼び方で良い。
function wrapper(){ phpfunction(); // phpfunctions.phpの関数を呼び出す }