CakePHP

CakePHPでloadModel

CakePHPでは、 コントローラやコンポーネントでモデルを使用する場合には[loadModel]メソッドを使う。 class HogeController extends AppController {] public function index() { $this->loadModels('Foo', 'Bar'); $this->Foo->findById(1); } }loadModel…

CakePHPでモバイルサイト開発 - 2日目 -

id:inventくんに「PHPで作る携帯サイトデベロッパーズガイド」という本をかりた。 PHPで作る携帯サイトデベロッパーズガイド作者: 滝下真玄出版社/メーカー: 秀和システム発売日: 2009/12メディア: 単行本購入: 2人 クリック: 76回この商品を含むブログ (5件…

CakePHPでモバイルサイト開発 - 1日目 -

さっそくプログラムしていく。 1. prefixを有効にする prefixを有効にするために [app/config/routes.php] に以下を記述する。 参考 http://phptips.seesaa.net/article/102607319.html [app/config/routes.php] Router::connect('/m/:controller/:action', …

CakePHPでモバイルサイト開発 - はじめに -

CakePHPでモバイル向けのページをつくることになったのでいくつかメモ。 今回つくるのはdocomo向けのページ。 なので、キャリア間のHTMLの違いとか気にしなくていい。 ※今後もdocomo以外は対象外なので、完全にdocomo向けでいくよ。 まず、docomoのiモード向…

CakePHPでInflectorクラス

文字列を複数形にしたり、キャメルケースにしたり、アンダースコア区切りにしたり、便利な文字列操作が出来るクラス。 id:ym1173さんの記事でまとめられてるので、使い方はそちらを参照。 http://d.hatena.ne.jp/ym1173/20090917/1253155625 今回このクラス…

CakePHPでデータ削除

この記事はCakePHP1.2向けです。 CakePHPでテーブルから1行削除するときには、del()を使います。 $r1 = $this->Model->del($id); //$id => 行のidもしくは、DELETE文を書いて、query()かexecute()を使う。 $sql = 'DELETE FROM model WHERE id = 10'; $r2 = …

CakePHPのBETWEEN

modelファイルのお話。 SELECT * FROM hoges WHERE created BETWEEN '2010-03-01 00:00:00' AND '2010-03-31 23:59:59';みたいなSQLをCakePHPのfindメソッドを利用して発行したいときに、 BETWEENの指定で引っかかったのでメモ。調べたところ、そもそもBETWE…

CakePHPでUPDATE

CakePHPでデータベースのテーブルにデータを保存するには、save()を使います。 $data = array('User', array('name' => 'hoge', 'birth' => '1988-01-01', 'b_type' => 'A')); $this->User->save($data);この命令により以下のSQLが実行されます。 INSERT INT…

CakePHPの.ctpファイルでシンタックス有効の設定

CakePHP1.2のview(テンプレート)ファイルの拡張子は「.ctp」です。 vimでこの「.ctp」ファイルを開くとシンタックスが有効にならず、色づけされないので見にくい状態のままです。 シンタックスを有効にしたいときには、.vimrcに以下の設定を追加します。 a…

CakePHPでredirect

CakePHPのredirect関数ではまったのでメモ。例えば、以下のようなソースコードがある。 class Test extends AppController { function beforeFilter() { if ($_SERVER['HTTPS'] != 'on') { $this->redirect('https://' . $_SERVER['HTTP_HOST'] . '/test/ind…