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