ウェブプログラミングおじさん

PHPとRubyと時々CSSやJSなどなど

CakePHPのModelで別ModelやSessionを使用するには

CakePHPでの開発をしていると、Model内で別のModelを使いたくなる時や、内部でSessionをいじりたくなる時がたまにあります。
もちろんフレームワーク側で簡単にできる方法が用意されていないということは、それをしない方がベターだということですが、まあ力技で解決する方法ももちろんあります。


そういう時はこうする。

<?php
  // Sessionの読み込み
  App::uses('CakeSession', 'Model/Datasource');
  $this->Session = new CakeSession();

  // HogeModelの読み込み
  App::import('Model', 'Hoge');
  $this->Hoge = new Hoge();

これでModel内部でも、ごにょごにょできるようになった。