Presentation is loading. Please wait.

Presentation is loading. Please wait.

2009/10/04 CakePHP とは  PHP で書かれた WEB アプリケーションフ レームワーク  オブジェクト指向  MVC ( Model, View, Controller )  データ定義、表示、プログラムでファイルが 分かれてる感じ.

Similar presentations


Presentation on theme: "2009/10/04 CakePHP とは  PHP で書かれた WEB アプリケーションフ レームワーク  オブジェクト指向  MVC ( Model, View, Controller )  データ定義、表示、プログラムでファイルが 分かれてる感じ."— Presentation transcript:

1 2009/10/04 kenji0302@gmail.com

2 CakePHP とは  PHP で書かれた WEB アプリケーションフ レームワーク  オブジェクト指向  MVC ( Model, View, Controller )  データ定義、表示、プログラムでファイルが 分かれてる感じ  のでプログラム各々がシンプルに、でもって 開発者とデザイナーで分業がしやすい

3 では、環境構築  サーバーには XAMPP を使います  http://www.apachefriends.org/jp  XAMPP だと環境の削除が楽  既に環境があればそちらでどうぞ  Google で検索して各 OS 用のバイナリをイ ンストールしましょう  開発環境には Eclipse がオススメ  Windows なら Pleiades の PHP パッケージを  http://mergedoc.sourceforge.jp/

4 ダウンロードしながら聞いてね

5 CakePHP の良い点.1  PHP4 系 5 系に対応  ファイルをアップロードするだけで OK  コードの自動生成ができる  MySQL, PostgreSQL, Oracle などなど様々な DB に対応している  しかも SQLite を使えば DB のインストールすら 不要  ドキュメントがまとまってる  http://book.cakephp.org/ja/

6 CakePHP の良い点.2  Ruby on Rails を真似てる  ので CakePHP を覚えれば Rails に入りやすい  もちろん Rails が使えるなら CakePHP もだいた い判るはず

7 CakePHP の良くない点  ちょっと重い  WEB アプリケーションフレームワークなので 仕方ない  上位互換が気になる  1.1->1.2 の時に苦労した  既に 1.3β が存在する  Rails と比べるとプラグインが少ない  プラグイン管理システムが無いから?  もしかしたら見つけられないだけかも

8 そろそろダウンロード終わった?  ちょっと設定をします  PHP にパスを通します  コマンドラインで PHP を使う必要があるので

9 Xampp on Windows の場合  コマンドプロンプトで php –v が表示され れば OK 。でなければ下の設定を  コントロールパネル → システム → 環境設 定 → 環境変数 → 【ユーザー名】の環境変 数「新規」  変数  PATH  値  C:\xampp\php  ( XAMPP デフォルトインストールの場合) 田ミ +R 【ファイル名を指定して実行】 cmd[Enter]

10 データベースを設定  XAMPP なら  Apache と MySQL を起動する  以下の URL にアクセス  http://localhost/phpmyadmin/ http://localhost/phpmyadmin/  とりあえず今回の DB を作りましょう  cake とでもしましょうか

11 つくるもの  コメントを書ける一行掲示板風  記事が書ける  記事に対するコメントが書ける

12 テーブルを作る.1  ちなみにテーブルに必ず必要なのは  id  これは各データを示す一意の数字  あるといいもの  created  modified  自動的に登録日、更新日が投入されます

13 テーブルを作る.2 カラム名型 idInt(10),PK, AUTO_INCREMENT bodytext createddatetime modifieddatetime カラム名型 idInt(10), PK, AUTO_INCREMENT post_idInt(10) commenttext createddatetime modifieddatetime テーブル名: comments テーブル名: posts 1:n posts.id と comments.post_id で 結びつくよ

14 CakePHP の設置  CakePHP をダウンロードして展開  http://cakephp.org/ http://cakephp.org/  資料作成の時点では 1.2.5Stable が最新  C:/xampp/htdocs/cake  にフォルダごと設置します  http://localhost/cake/ http://localhost/cake/  アクセスしてエラーがいっぱい表示されたら 設置(だけは)完了

15 CakePHP の設定  DB の設定  C:\xampp\htdocs\cake\app\config\database.php.d efault  これを  C:\xampp\htdocs\cake\app\config\database.php  にリネーム、テキストエディタで開いて DB 名、 ID 、 PASS を設定する  暗号化のキーを変更  C:\xampp\htdocs\cake\app\config\core.php  Configure::write(‘Security.salt’, ’ ここ書き換え ’);

16 プログラムを書く  登録、編集、削除、一覧を毎回作るのっ てめんどくさい  自動生成しちゃおうぜ  田ミ +R → cmd [Enter] > cd C:¥xampp¥htdocs¥cake¥cake¥console > php -q cake.php bake

17 Cake を Bake する  M → C → V の順に生成します  [D]atabase Configuration  データベース設定(既に設定済みなので利用しません)  [M]odel  テーブルの定義を生成します  [V]iew  HTML テンプレートを生成します  [C]ontroller  データ登録とか分岐とかを生成します  [P]roject  パスを設定します  使ったことがないので判りません  [Q]uit  終了

18 モデルの作成 What would you like to Bake? (D/M/V/C/P/Q) M [Enter] Use Database Config: (default/test) [default] > [Enter] Possible Models based on your current database: 1. Comment 2. Post Enter a number from the list above, type in the name of another model, or 'q' to exit [q] >1 [Enter] … What would you like to Bake? (D/M/V/C/P/Q) M [Enter] [q] >2 [Enter] … こちらは下の表示の時に以下の様に Post hasMany Comment? (y/n) [y] >y[Enter] Post hasOne Comment? (y/n) [y] >n[Enter] 特に記載していない箇所は Enter (デフォルト)で OK

19 コントローラーの作成 What would you like to Bake? (D/M/V/C/P/Q) C [Enter] Possible Controllers based on your current database: 1. Comments 2. Posts Enter a number from the list above, type in the name of another controller, or ‘q' to exit [q] >1[Enter] … Would you like to include some basic class methods (index(), add(), view(), edit())? (y/n) [n] >y[Enter] Would you like to create the methods for admin routing? (y/n) [n] > y[Enter] … What would you like to Bake? (D/M/V/C/P/Q) C [Enter] [q] >2[Enter] … Would you like to include some basic class methods (index(), add(), view(), edit())? (y/n) [n] >y[Enter] Would you like to create the methods for admin routing? (y/n) [n] > y[Enter] … 特に記載していない箇所は Enter (デフォルト)で OK

20 ビューの作成 What would you like to Bake? (D/M/V/C/P/Q) V [Enter] Possible Controllers based on your current database: 1. Comments 2. Posts Enter a number from the list above, type in the name of another controller, or ' q' to exit [q] >1[Enter] Would you like to create some scaffolded views (index, add, view, edit) for this controller? NOTE: Before doing so, you'll need to create your controller and model classes ( including associated models). (y/n) [n] > y[Enter] Would you like to create the views for admin routing? (y/n) [y] > y[Enter] … What would you like to Bake? (D/M/V/C/P/Q) V [Enter] [q]>2[Enter] Would you like to create some scaffolded views (index, add, view, edit) for this controller? NOTE: Before doing so, you'll need to create your controller and model classes ( including associated models). (y/n) [n] > y[Enter] Would you like to create the views for admin routing? (y/n) [y] > y[Enter] … 特に記載していない箇所は Enter (デフォルト)で OK

21 ページが自動生成されました!  以下のアドレスにアクセス!  http://localhost/cake/posts/ http://localhost/cake/posts/  http://localhost/cake/comments/ http://localhost/cake/comments/  しかも管理用のアドレスまでできてる  http://localhost/cake/admin/posts/ http://localhost/cake/admin/posts/  http://localhost/cake/admin/comments/ http://localhost/cake/admin/comments/  C:¥xampp¥htdocs¥app¥webroot¥admin¥.htacces で BASIC 認証をかければ完璧

22 編集すべきファイル  生成したファイルは下のフォルダに有ります  各ファイルはテーブル名と結びついています  C:¥xampp¥htdocs¥cake¥app¥controllers  コントローラー  動作の変更  機能の追加、削除とかね  C:¥xampp¥htdocs¥cake¥app¥models  モデル  テーブルの定義や関連づけを変更する  C:¥xampp¥htdocs¥cake¥app¥views  ビュー  レイアウトの変更

23 ここから先は …  次回!


Download ppt "2009/10/04 CakePHP とは  PHP で書かれた WEB アプリケーションフ レームワーク  オブジェクト指向  MVC ( Model, View, Controller )  データ定義、表示、プログラムでファイルが 分かれてる感じ."

Similar presentations


Ads by Google