トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

CakePHP【基礎】

CakePHP

[PHP]
最終更新時間:2010年10月03日 15時35分40秒

cakephp

 インストール方法

 http://github.com/cakephp/cakephp/downloadsからパッケージをダウンロード
 $ tar xvfz cakephp-cakephp-1.2.7-0-gd9f7b9b.tar
 $ mv cakephp-cakephp-*** /Library/WebServer/Documents/cakephp
 $ cd /Library/WebServer/Documents/cakephp/app

 Apacheの設定

.htaccessを使用するので以下の設定を行う

 <Directory "/Library/WebServer/Documents/cakephp">
   Options All
   AllowOverride All
   Allow from all
 </Directory>

 コントローラー作成

 $ vim controllers/test_controller.php
  • test_controller.phpというファイルを作成
  • TestControllerというクラスを作成し、AppControllerというクラスを継承する
  • デフォルトで呼び出されるメソッドはindex
  • メソッド=アクション
  • formで値を受け取るときは以下のようにする
    • GETの場合
 $this->params['url'][name];
    • POSTの場合
 $this->params['form'][name];
  • viewに渡す値を設定する場合
$this->set(変数名, 値);
$this->set("result", $result);
  • modelsからの値の取得方法
 $this->モデル名->find('all');
  • 値は以下のように設定される
 Array (
   [レコード番号] => Array (
     [テーブル] => Array (
       [フィールド] => 値
     )
   )
 )
  • その他の検索方法
 $this->モデル名->find('first');
 $this->モデル名->find('list');
 $this->モデル名->find('count');
  • データの追加方法
 $this->モデル名->save(連想配列);
  • 連想配列は以下のように設定する
 Array (
   [モデル名] => Array (
     [フィールド] => 値
   )
 )
  • データの削除方法
 $this->モデル名->del(ID);
 $this->モデル名->remove(ID);
  • リダイレクトについて
 $this->redirect(アドレス);

 モデル

mysqlを使う場合php.iniを変更する

 pdo_mysql.default_socket=/tmp/mysql.sock
 mysql.default_socket = /tmp/mysql.sock
  • モデルを作成する場合は"テーブル名.php"とする必要がある
    • 複数形じゃなくてもいいよ
  • Blog.phpというファイルを作成
  • Blogというクラスを作成し、AppModelを継承