未分類

CakePHP の研究 (2)

CakePHP を学習・研究した記録です。

インストール方法

  • http://cakephp.jp/ から cakephp-2.4.9.zip をダウンロード。
  • zip ファイルを解凍して XAMPP フォルダにコピー。
    (ex c:\xampp\htdocs/cake/0504)
  • ブラウザから http://localhost/cake/0504/ にアクセス。
  • この時点で上から、赤色2、緑色3、黄色2、そして最後の赤色2の状態になっている。
  • エディタで C:\xampp\htdocs\cake\0504\app\Config\core.php を開く。
  • 225 行目 : Security.salt の値を変更
    DG93b0qyJxfs2guUubWwvniR2gaC9mi → DG93b0qyJxfs2guUubWwvniR2gaC9mi9999
  • 230 行目 : Security.cipherSeed の値を変更
    76930974535424967683645 → 769309745354249676836459999
  • ブラウザから http://localhost/cake/0504/ にアクセス。
  • この時点で上から、緑色3、黄色2、そして最後の赤色2の状態になっている。
  • phpMyAdmin で、データベース cake1 を作成する。
  • C:\xampp\htdocs\cake\0504\app\Config の database.php.default を database.php にコピー。
  •  database.php の login (root)、password (password)、database (cake1) に書き換える。
  • ブラウザから http://localhost/cake/0504/ にアクセス。
  • この時点で上から、緑色5、黄色1の状態になっている。黄色1は DebugKit のインストールなのでこの時点ではOKとする。

作成

  • オブジェクト単位で、Model クラスとテーブルを作成する。
  • コントローラとモデルは対になるようにする。
  • CRUD それぞれにアクションを作成する。
  • テーブルの作成
    cd C:\xampp\htdocs\cake\0504
    app\Console\cake schema create

決まり事

  • 機能名とコントローラ名が対になる。
  • 処理名とアクション名が対になる。
  • モデルとコントローラを対にする。(推奨)
  • オブジェクトとモデル(テーブル)が対になる。
  • URI
    localhost/cake/0504/test/view/1 → 1 は id=1 のこと。
  • {ARD}/app/Config/core.php
    - Configure::write('Cache.check', true); コメントアウトを取る。グラフ作成で使用されるため。
    - Configure::write('debug', 0); 本番稼働用 (2: デバッグ用)
  • CakePHP では、主キーに複合キーはサポートされない。通常全テーブルに id 列を設ける。

しくみ

  • アプリケーション・ルート・ディレクトリ:app, lib, plugins, vendors フォルダが含まれているディレクトリのこと。CLI を実行するときにはここにカレントディレクトリを移動する。以下、{ARD} と略す。
  • データベース定義ファイルは、{ARD}\app\Config\database.php に記述する。ひな形は、同ディレクトリの database.php.default に書かれている。$default が通常使用される定義、$test は自動テストに使用される定義。
  • スキーマファイル名は、{ARD}\app\Config\Schema\schema.php に記述する。

処理ステップ

  • ユーザーがコントロールの URI を入力。
  • コントローラが受け取った HTTP リクエスト情報は $this->request に入る。
  • $this->request->params : パラメータが格納される
  • $this->request->data : FORM データが格納される

フォルダ構成

  • app : 自 Web アプリケーション本体
    +plugins : 自 Web アプリケーションでのみ使用可能なプラグインを配置する。
    +venders : 自 Web アプリケーションでのみ使用可能なライブラリを配置する。
  • lib : CakePHP 本体
  • plugins : すべてのアプリケーションで使用可能なプラグインを配置する。
  • vendors : すべてのアプリケーションで使用可能なライブラリを配置する。

-未分類