2014/1/7 久米
Google トレンド CakePHP、Symfony、Zend Framework
※CakePHPフォルダ構成 アプリケーション開発で太字の所のみ使用する
| フォルダ | ||
| app | ||
| Config | database.php | |
| Controller | ||
| Lib | ||
| Locale | ||
| Model | ||
| Plugin | ||
| Test | ||
| Vendor | ||
| View | ||
| console | ||
| webroot | cssやjs | |
| lib | ||
| plugins | ||
| vendors | 
CakePHP解凍して名前つけたフォルダ名(Cakeディレクトリ)をアプリケーションと呼ぶことにする。 注)正式には何と呼ぶか不明。
4〜8を必要な分、行えばアプリケーション完成
| 列名 | 型 | null ok? | 意味 | |
| id | int | not null | 主キー、オートインクリメント | ほぼ必須 | 
| nameかtitle | varchar | not null | 表題 | オプション | 
| created | datetime | null | 作成日時 | オプション | 
| modified | datetime | null | 更新日時 | オプション | 
| 場所 | 単数/複数 規約  | 
    記法の規約 | 例 | コード例 | |
| cakeフォルダ | - | 特になし | 特になし | web3cake | |
| データベース | - | 特になし | 特になし | web3cake | |
| テーブル | - | 複数形 | 
    スネーク記法 | neko_chans | |
| C | app>Controller> テーブル+Condroller.php  | 
    複数形 | 
    キャメル記法 | app>Controller> NekoChansController.php  | 
    <?php
class NekoChansController extends AppController {
}
 | 
  
| M 省略時 自動生成  | 
    app>Model> テーブル.php  | 
    単数形 | 
    キャメル記法 | app>Model> NekoChan.php  | 
    <?php
class NekoChan extends AppModel{
}
 | 
  
| V  コンテンツ  | 
    app>View> テーブル *1> アクション.ctp *2  | 
    *1複数形 *2複数形  | 
    *1キャメル記法 *2スネーク記法.ctp  | 
    app>View> NekoChans> search_kind.ctp  | 
    |
| V レイアウト  | 
    app>View>Layouts> レイアウト名.ctp  | 
    特になし | 特になし | app>View>Layouts> neko22.ctp  | 
    |
| css | app>webroot>css >css名.css  | 
    特になし | 特になし | app>webroot>css> neko22.css  | 
    |
| 関数名 | 特になし | 
    キャメル記法 コーディング規約 ただしController の関数は URLにそのまま 使われるので スネーク記法 の方がよい  | 
    search_kind | 
※テーブル:テーブル名をスネーク記法やキャメル記法で記述したもの。例 neko_chans、NekoChans、NekoChanなど
  ※アクション:テーブル+Condroller.phpの中の関数
  ※なにも決めなければ全てデフォルトが使われる
※ctp:CakePHP Template
| url | 備考 | |
| http://ホスト名/アプリケーション/テーブル/アクション(Controllerの関数名) | Controllerの中の指定した関数が実行される | |
| 例 | http://localhost/web3cake/neko_yohins/ | 関数名indexの場合は省略可 | 
| 例 | http://localhost/web3cake/neko_yohins/add | 関数名addの場合 | 
| 例 | http://localhost/web3cake/neko_yohins/search_kind | 
NekoChansController.phpへ下記を記述
public $scaffold;
$scaffoldがnullならば、index、viewなど全てデフォルトを使用するように組み込まれている。\lib\Cake\Controller\Controller.php 493
演習1