app/Vendorにモジュールのディレクトリを配置して、require_onceする。
<?php App::uses('AppController', 'Controller'); $vendor = App::path('Vendor'); $path = $vendor[0] . 'gpay_client' . DS; set_include_path(get_include_path() . PATH_SEPARATOR . $path); App::import('Vendor', 'gpay_client/com/gmo_pg/client/tran/EntryTran'); App::import('Vendor', 'gpay_client/com/gmo_pg/client/input/EntryTranInput'); App::import('Vendor', 'gpay_client/com/gmo_pg/client/tran/ExecTran'); App::import('Vendor', 'gpay_client/com/gmo_pg/client/input/ExecTranInput');
モジュールディレクトリの場所をインクルードパスに入れる必要があるので、上記のような感じにした。
参考: App::import() でファイルをインクルードする
尚、GMOペイメントのモジュールは、コンストラクタが2つある。PHP5.4だとRedefining already defined constructorというエラーがでた。だからcore.phpの下記を修正して、エラーがでないようにした。
Configure::write('Error', array( 'handler' => 'ErrorHandler::handleError', //'level' => E_ALL & ~E_DEPRECATED, ←元の表記 'level' => E_ALL & ~E_DEPRECATED & ~E_STRICT, //←修正内容 //'level' => 0, 'trace' => true ));
PHP5を試してみる - コンストラクタの名称の統一 CakePHP2.xとPHP5.4でStrict Errorが出た場合の対処法