CakePHP1.3 CakePHPでincludeとかrequire_onceとかできるの? の件

忘備録

あるcontroller中のメソッドがやけに多くなってきたので、外部ファイルに出してすっきりさせようとしました。

とりあえずパッと思い浮かんだのがincludeなんですが、そういやCakePHPってincludeとかrequire_onceできるの?と、思って調べたんですが、当然のごとくできました。




簡単な方法まとめ
【controller中で独自定義した外部関数を呼び出す】

●1 外部ファイルを プロジェクト名/app/vendors/ 以下に作成する

	// プロジェクト名/app/vendors/hoge.php という名前で下記の内容を作成。

	function tasu($a,$b){
		return $a+$b;
	}

●2 呼び出し元controllerで、以下のように呼び出す

	function index(){
	
		//独自ファイルの読み込み(作成したファイル名を第2引数に)
		App::import('vendor', 'hoge');
		
		//結果に 6 と表示される
		echo tasu(3,3);
	}

と、外部関数を呼ぶだけならこれでおk。勿論、外部クラスの読み込みも可能。
また、ファイル名は全て小文字で描かないと駄目な模様。
http://planetcakephp.org/aggregator/items/1189-phpcakephpappimport-の注意点





●以下調べ物
もっと分かりやすい説明
http://www.slideboom.com/presentations/69602/10分で分かるApp%3A%3Aimport()

ファイル名の読み込み方法色々、配布されてるライブラリなどはちゃんと名前指定しないと駄目そう
http://www.garacter.com/notes/CakePHP+Note:各種クラスやファイルの読み込み/pi:293

本家サイト
http://book.cakephp.org/ja/view/538/Loading-Vendor-Files





●おまけ
include、require_onceって今まであまり気にせずに使ってました、勉強不足ですね…
http://d.hatena.ne.jp/taiju1225/20080505/1209945636