Download presentation
Presentation is loading. Please wait.
Published byあきお こうい Modified 約 8 年前
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
ここから先は … 次回!
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.