電子書籍の厳選無料作品が豊富!

PHP 5.0.4
CakePHP Version1.1

CakePHPのモデル内でコールバック関数として登録したい関数を作成したのですが、その関数をどこに記述してよいか分かりません。今のところ下記のようにモデル内のクラス定義の外に定義しています。
<?php
class Hoge extends AppModel {
var $name = "Hoge";
function gethoge(){
・・・・
return array_map("hoge_callback",$hoge_array);
}
}

function hoge_callback(){
・・・・
}
?>

ただこれだと”hoge_callback()”を他のモデルでも使いたい時にそのモデル内でも記述しないといけません。どこか1箇所にまとめて置いてきそれを参照するようなスマートな方法はないでしょうか(できればモデル内だけでなくコントローラやビューでも使えるとうれしいです)?「CakePHPでは自作関数は”ここ”に登録する」といったようなルールがありましたらご教示頂ければ幸いです。

よろしくお願い致します。

A 回答 (1件)

まぁ、ライブラリとして外部から利用できるようにするのが目的なら、vendersに保管して各クラスごとに読み込むのがいいんでないだろうか。



app/venders/mylib.phpという形でライブラリを用意して、必要なときに、vender('mylib');とすればライブラリが読み込まれたはず。(cakePHP 1.1)

cakePHP 1.2だと、App::import('Vendor','mylib');とかに変わってるので注意。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
vendor()でうまくいきそうです。
ありがとうございました。

お礼日時:2008/11/23 12:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!