CakePHP勉強会1

0

No comments posted yet

Comments

Slide 1

Cakephp勉強会 〜CAKEを焼いてみよう!〜 2009/10/04 kenji0302@gmail.com

Slide 2

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

Slide 3

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

Slide 4

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

Slide 5

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

Slide 6

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

Slide 7

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

Slide 8

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

Slide 9

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

Slide 10

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

Slide 11

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

Slide 12

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

Slide 13

テーブルを作る.2 テーブル名:comments テーブル名:posts 1:n posts.idとcomments.post_idで 結びつくよ

Slide 14

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

Slide 15

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

Slide 16

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

Slide 17

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

Slide 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

Slide 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

Slide 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

Slide 21

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

Slide 22

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

Slide 23

ここから先は… 次回!

URL: