Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CakePHP入門 (2006/2/25)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yusuke Ando
February 25, 2006
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CakePHP入門 (2006/2/25)
アーカイブです。
第9回PHP勉強会。
Yusuke Ando
February 25, 2006
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
440
Shimokita.Unity パーティクルでエフェクト
yandod
0
900
CakePHP3の明るい未来
yandod
1
310
Testing your app with Selenium on Travis CI
yandod
8
3.3k
Testing your app with Selenium on Travis CI
yandod
0
200
Inputで入力を扱う
yandod
0
750
Detonatorで爆発させる勉強会をした報告
yandod
0
2.6k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
810
パリの街をUnityで駆ける
yandod
1
3.5k
Other Decks in Programming
See All in Programming
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
ActionController meets Protocol Buffers
sorah
0
460
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
200
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.4k
ジョジョの世界をXRで再現する
mofurune
0
160
Featured
See All Featured
BBQ
matthewcrist
90
10k
The Limits of Empathy - UXLibs8
cassininazir
2
720
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
What's in a price? How to price your products and services
michaelherold
247
13k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
Claude Code のすすめ
schroneko
67
230k
Exploring anti-patterns in Rails
aemeredith
4
540
エンジニアに許された特別な時間の終わり
watany
109
250k
The agentic SEO stack - context over prompts
schlessera
0
970
So, you think you're a good person
axbom
PRO
2
2.2k
The Language of Interfaces
destraynor
162
27k
Transcript
Copyright © YusukeAndo. 2006. All rights reserved. 1 CakePHP入門 PHPでRailsライクな高速開発
PHP勉強会 第9回発表資料 2006年2月25日 安藤祐介
Copyright © YusukeAndo. 2006. All rights reserved. 2 はじめに 巷で話題の“Ruby
On Rails” ! Rubyで実装されたMVCフレームワーク ! 同じ事を繰り返さない - Don’t Repeat Yourself ! 設定よりも規約 - Convention over Configuration ! ActiveRecordによりコードを書かずにDB機能 ! 「高速」開発。(プロトタイプ、改修、運用) →注目度が上昇中 10分で作るRailsアプリ for Windows などの試みが注目されたり・・・
Copyright © YusukeAndo. 2006. All rights reserved. 3 そして Ruby
On RailsのPHP版とも言えるのが・・・ (正確にはRailsライクなフレームワークの中の1つ) なのです
Copyright © YusukeAndo. 2006. All rights reserved. 4 CakePHPの特徴 !
フロントコントローラー、MVCモデル ! 設定不要、サブディレクトリのみで動作可能 ! アクティブレコード、組込みのCRUD ! PHP4、PHP5両対応 「あらゆるレベルのプログラマーにとって快適な環境を」 CakePHP development team
Copyright © YusukeAndo. 2006. All rights reserved. 5 おおまかな構造 アプリケーションのルート
フレームワークのライブラリ 設定ファイル コントローラー モデル ビュー(テンプレート) →以上の構造で丸ごと設置する為、共用型サーバでも容易。
Copyright © YusukeAndo. 2006. All rights reserved. 6 動作の手順 実際に動かしながら触ってみましょ
う!
Copyright © YusukeAndo. 2006. All rights reserved. 7 アーカイブの入手 !
cakephp.orgからアーカイブを入手。 ここです。
Copyright © YusukeAndo. 2006. All rights reserved. 8 セットアップ !
展開して出来たディレクトリを任意にリネーム ! Apacheから見える所にがっつりと設置 ! あとはindex.phpにアクセスすれば動作完了 ※htaccessによるoverride、rewriteが出来るようにしておく Rewriteが使えない場合はcore.php内の設定を修正
Copyright © YusukeAndo. 2006. All rights reserved. 9 画面イメージ データベース設定が無い警告
Copyright © YusukeAndo. 2006. All rights reserved. 10 データベース接続設定 !
データベースへの接続設定を行う ! app/config/database.php に設定を記入 ! ひな型をコピーすると簡単 var $default = array('driver' => 'mysql', 'connect' => 'mysql_pconnect', ‘host’ => ‘localhost’, ホスト名 ‘login’ => ‘user’, ユーザ名 ‘password’ => ‘password’, パスワード ‘database’ => ‘project_name’, DB名 'prefix' => '');
Copyright © YusukeAndo. 2006. All rights reserved. 11 画面イメージ データベース接続成功
Copyright © YusukeAndo. 2006. All rights reserved. 12 テーブル作成 !
データベースにアプリで利用するテーブルを作成 ! 一定のネーミングルールで作成(必須!) ネーミングルール ! テーブル名は複数形英語 (books toys musics …) ! プライマリキーは“id”とする ! 外部キーは“genre_id” “book_id” のように単数_id とする ! “created” “modified”というDATETIMEを作るとベター
Copyright © YusukeAndo. 2006. All rights reserved. 13 画面イメージ コントローラーが無い
作るべきコード
Copyright © YusukeAndo. 2006. All rights reserved. 14 コントローラー作成 /books
にアクセスするとコントローラーが見つからないエラーが・・・ ! エラー画面で指示されたとおりにクラスを作成 app/controllers/%name%_controller.php <?php class BooksController extends AppController { } ?>
Copyright © YusukeAndo. 2006. All rights reserved. 15 モデル作成 今度はモデルが見つからないらしい・・・
! AppModelの派生クラスを作成 app/models/%name%.php <?php class book extends AppModel { } ?>
Copyright © YusukeAndo. 2006. All rights reserved. 16 画面イメージ メソッドが無い
Copyright © YusukeAndo. 2006. All rights reserved. 17 scaffoldの利用 メソッドが無いといわれたが・・・?
! 現段階ではロジックを実装するindex() メソッド等が無い ! Railsにもあるアプリの「骨組み」を提供する機能 ! コントローラーをscaffold指定すれば「骨組み」が利用可能 <?php class BooksController extends AppController { var $scaffold; } ?>
Copyright © YusukeAndo. 2006. All rights reserved. 18 動作確認 !
組込みのCRUDが利用可能です ! Create Read Update Delete の機能 ! マスタのメンテナンス程度であれば十分 ! カラム追加などにも自動で追随する
Copyright © YusukeAndo. 2006. All rights reserved. 19 入力画面 カラムの型に応じた
入力欄を生成
Copyright © YusukeAndo. 2006. All rights reserved. 20 単票形式での表示
Copyright © YusukeAndo. 2006. All rights reserved. 21 カスタマイズ !
組込みのCRUDも便利は便利・・・ ! でもユーザ向けの表示は細かい指定が必要 ! コントローラーを修正し、テンプレートを作ればOK ! scaffoldとの共存もできる
Copyright © YusukeAndo. 2006. All rights reserved. 22 コントローラーの修正 !
app/controllers/%name%_controller.phpにindexメソッド を追加する <?php class BooksController extends AppController { var $scaffold; function index(){ $this->set('data',$this->book->findAll()); } } ?>
Copyright © YusukeAndo. 2006. All rights reserved. 23 テンプレートの作成 !
app/views/%name%/index.thtml を作成 ! Controllerでsetした名前でハッシュがある <table> <tr><th>書名</th><th>登録日</th></tr> <?php foreach ($data as $row): ?> <tr> <td><?php echo $row['book']['title'];?></td> <td><?php echo $row['book']['created'];?></td> </tr> <?php endforeach; ?> </table>
Copyright © YusukeAndo. 2006. All rights reserved. 24 カスタマイズの確認 !
カスタマイズした表示ができました ! scaffoldの機能もURLを叩けば動く(リンクすれば良い) ! リレーションも使えます
Copyright © YusukeAndo. 2006. All rights reserved. 25 画面イメージ モデルに2行程度の修正
で従属データも取得
Copyright © YusukeAndo. 2006. All rights reserved. 26 まとめ !
メリット 簡単セットアップ、スクリプト的な記述 validate、セッション管理も組み込まれている ! デメリット 情報が少ない、マルチバイト関連のノウハウ 習得コストは無いとは言えない
Copyright © YusukeAndo. 2006. All rights reserved. 27 Let‘s Bake! CakePHPなかなか面白そうなフレームワークです。
小回りが利きそうな開発でなら十分に威力を発揮 するのではないでしょうか? 皆さんも今日からBakerです!
Copyright © YusukeAndo. 2006. All rights reserved. 28 謝辞 参考サイト
! 10分で作るCakePHPアプリ for Windows http://p4life.jp/cake/
Copyright © YusukeAndo. 2006. All rights reserved. 29 質疑応答 ご静聴ありがとうございました。