CakePHP

CakePHPのヘルパーからモデルを呼び出す

CakePHPは、MVCモデルをベースとしたフレームワークです。

 

なので、

通常はビューのヘルパーからモデルを呼び出すようなことはしません。

 

ただ、

時々、ヘルパーからモデルを呼び出すことでコード量を格段に減らせることがあります。

 

例えば、

賃貸物件の検索サイトを構築していると、

サイトの全ページに掲載されている全物件数を表示させることがあります。

 

その場合、

コントローラの各メソッドにモデルを読み込んで件数をビューに渡してやるコードを書くよりかは、

ヘルパー側でモデルを読み込んで登録物件数を取得して

件数表記の部分のHTMLを返してやる方が遥かにコードが少なくなります。

 

例えば、

class CountHelper extends AppHelper {

function makeCountHtml() {

$this->uses = array("Bukken");

//登録物件数を取得
$count = $this->Bukken->find("count");

print<<<EOD
<div>現在の登録物件数:<span>$count</span>件</div>
EOD;

}

}

というヘルパーを作成します。

 

あとは、

ビューに

<?php echo $this->Count->makeCountHtml(); ?>

と記入してやれば件数部分のHTMLを吐き出してくれます。

 

とはいえ、

やはり多くのサイトで言われているように、

モデル、ビュー、コントローラ毎にそれぞれ本来の役割があるので、

この方法はあまりお勧めできる方法ではありません。

 

なので、

こんな方法もあるのだという程度に思っておいたほうがいいかもしれないですね!!

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP