2011-10-27 3 views
1

これは複数の質問に分かれています。CakePHPヘルパーを読み込んでいます

背景:

私は、CakePHPを使用して、私の最初のサイトを構築しています、と私は今のところそれが好き。私は、DBの設定、初期データの読み込み、およびいくつかのモデル、ビュー、およびコントローラとデータのインターフェイスを持っています。

私は、さまざまな領域での追加/編集/削除タイプの画像リンクを作成するために、グローバルにアクセス可能な関数を作成しました。それは複数のビューにわたって使用されるので、どこでもアクセス可能、本質的に必要とします。この関数は/app/config/bootstrap.phpで定義されています。私はこれを容易にするためにHTMLヘルパーの$html->image()$html->link()メソッドを使用することを望んでいましたが、bootstrap.phpでは利用できません。また、私は自分の関数を定義したHTMLヘルパーをロード/アクセスする方法がわかりません。

質問:

1)これは、この種の機能を定義するための合理的/慣用的な場所ですか?

2)これが関数を定義する正しい場所でない場合は、どこで定義する必要がありますか?

3)これが関数を定義する正しい場所であれば、さまざまなCakePHPヘルパーのロード方法を教えてください。

また、私はCakePHPの新人ですので、私の質問が不明な場合はお知らせください、私の無知を許してください。私はかなりの量のCakePHPドキュメントを読んだり検索したりしましたが、コントローラー内のヘルパーの読み込みについては、App::import(...);または$helpers = array(...);で十分見つかっていますが、私はAppオブジェクトにアクセスできないようです。$helpersAppControllerクラスだと思います。私はこれについて間違っていると思うので、これを達成するためのケーキの方法を理解してください。

答えて

2

いいえ、それはそのような関数の正しい場所ではありません(正確には、MVCのパラダイムに反する)。より良い方法は、関数に対してcreate your own helperです。リンクの複雑さによっては、elementsも使用できます。

アプリの他の機能とはまったく独立した機能のみがbootstrap.phpになければならず、そのほとんどが他の場所より優れていることがよくあります。

+0

偉大なおかげで、私は今働いている! – theraccoonbear

関連する問題