WebプログラミングV

 目次へ 前へ 次へ

2014/1/7 久米

VCakePHP

1.CakePHPとは

1.1 CakePHP

Google トレンド CakePHP、Symfony、Zend Framework

 

1.2 インストール事前準備

 

1.3 インストール

  1. CakePHPから最新版をダウンロードして
  2. 解凍して
  3. フォルダに好きな名前(アプリケーション)を付けて 例 yaoya、petshop、best10、cake、web3cake
  4. htdocsの中に入れるだけ

※CakePHPフォルダ構成 アプリケーション開発で太字の所のみ使用する

フォルダ    
app    
  Config database.php
  Controller  
  Lib  
  Locale  
  Model  
  Plugin  
  Test  
  Vendor  
  View  
  console  
  webroot cssやjs
lib    
plugins    
vendors    

 

1.4 アプリケーション開発手順

CakePHP解凍して名前つけたフォルダ名(Cakeディレクトリ)をアプリケーションと呼ぶことにする。 注)正式には何と呼ぶか不明。

  1. phpMyAdminでcakePHP用ユーザとDBを作成。
  2. Configのdatabase.phpを設定。→うまく設定できたかチェック http://localhost/アプリケーション/ にアクセス
  3. テーブル作成。 約束事あり
     
  4. ControllerにxxController作成。 約束事あり
  5. Modelにxx.php作成。 約束事あり
     
  6. Viewのコンテンツにxx.ctp作成。 約束事あり
  7. ViewのLayoutsにxx.ctp作成。
  8. webrootのcssにxx.css作成。

4〜8を必要な分、行えばアプリケーション完成

 

1.5 テーブル作成の規約

列名 null ok? 意味  
id int not null 主キー、オートインクリメント ほぼ必須
nameかtitle varchar not null 表題 オプション
created datetime null 作成日時 オプション
modified datetime null 更新日時 オプション

 

1.6 命名規約

  場所 単数/複数
規約
記法の規約 コード例
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

 

1.7 ルーティング (URLから特定のコントローラのアクション(関数)にマップ)

  url 備考
  http://ホスト名/アプリケーション/テーブル/アクション(Controllerの関数名) Controllerの中の指定した関数が実行される
http://localhost/web3cake/neko_yohins/ 関数名indexの場合は省略可
http://localhost/web3cake/neko_yohins/add 関数名addの場合
http://localhost/web3cake/neko_yohins/search_kind  

 

1.8 $scaffoldの怪

NekoChansController.phpへ下記を記述

public $scaffold;

$scaffoldがnullならば、index、viewなど全てデフォルトを使用するように組み込まれている。\lib\Cake\Controller\Controller.php 493

 

 

演習1

  1. ××の××でテーブル作成し、そのアプリケーション作成してみよ。
  2. $scaffoldの怪を使ってみよ。