20090905 cake php
TRANSCRIPT
CakePHPストーリー
1Copyright © YusukeAndo. 2009. All rights reserved.
CakeMatsuri 団長 Yusuke Ando
September ,5 2009
人気No1 フレームワークの軌跡と未来
About me
名前 安藤祐介 aka @yando
所属 楽天株式会社 RAKUTEN inc
PHPについて喋ったり、書いたりしています
CakePHPやRedmineについての活動
Loving cat, curry, golf and CakePHP.
Copyright © YusukeAndo. 2008. All rights reserved. 22Copyright © YusukeAndo. 2009. All rights reserved.
【告知】楽天テクノロジーカンファレンス
2007年から始まったイベント
10月24日(土)楽天タワーにて今年も開催
「集まれ!モノヅクリスト」
各種ゲストによる講演
一般応募OKのライトニングトーク&デモ
恒例の懇親会
Copyright © YusukeAndo. 2008. All rights reserved. 3
http://tech.rakuten.co.jp/rtc2009/
3Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 4
@rakuten_tech on twitter
Follow now!
Copyright © YusukeAndo. 2009. All rights reserved. 5
アジェンダ
CakePHPとは
国内での普及状況
CakePHPの未来
6Copyright © YusukeAndo. 2008. All rights reserved.
CakePHPとは
What is CakePHP
6Copyright © YusukeAndo. 2009. All rights reserved.
http://www.cakephp.org/
Copyright © YusukeAndo. 2009. All rights reserved. 7
コンセプト
全てのレベルのPHPユーザが素早く安定したウェブアプリケーションを開発が行える高速開発フレームワーク
8Copyright © YusukeAndo. 2009. All rights reserved.
Rapid Application Development Framework
高速開発フレームワーク
9Copyright © YusukeAndo. 2009. All rights reserved.
フレームワークを使わない開発 (pure php)
Copyright © YusukeAndo. 2009. All rights reserved. 10
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚‛;
$ret = mysql_query();
<?php
mysql_connect();
$sql = ‚SELECT * ‛;
$ret = mysql_query();
<?php
Main();
Function main(){}
Function hoge(){}
<?php
Main();
Function main(){}
Function hoge(){}
<?php
Main();
Function main(){}
Function hoge(){}
全てのプログラムに必要な処理が記述されている
プログラムによって構造が異なる
フレームワークを使った開発 (with framwork)
Copyright © YusukeAndo. 2009. All rights reserved. 11
フレームワーク<?php
HogeController {
function index(){}
}
<?php
HogeController {
function index(){}
}
<?php
HogeController {
function index(){}
}
ルールに沿った部品だけを作成する
ほとんどのプログラムは同じ構造になる
典型的なコードの例
Copyright © YusukeAndo. 2009. All rights reserved. 12
<?php
FriendsController extends AppController {
function index(){
$data = $this->Friend->find(‘all’);
$this->set(‘friends’,$data);
}
}画面表示にデータを受け渡し
SQLを自動的に実行
DBを自動で処理し、views/friends/index.ctp を表示
Improve productivity and maintainability
生産性の向上
保守性の向上
プログラム作成の作業が簡単になり、同じやり方で誰でも作成できるようになる。
13Copyright © YusukeAndo. 2009. All rights reserved.
PHPer at all levels
全てのレベルのPHPユーザ
14Copyright © YusukeAndo. 2009. All rights reserved.
Both novice and expart are target
簡単に使いたい初心者
拡張しまくりたい上級者
上級者向けに思われがちなフレームワークを気軽に利用できるスタイル
15Copyright © YusukeAndo. 2009. All rights reserved.
Features for norvice
面倒なインストール・設定作業はほぼ皆無
少ないコードの量で機能を実装可能
サーバやコマンドライン、ライブラリの知識は不要
かんたんなおまじないでデータベースなどを自動処理
Copyright © YusukeAndo. 2009. All rights reserved. 16
PHPの知識があればOK!
Features for advanced user
コントローラーを拡張するComponent
モデルを拡張するBehavior
ビューを拡張するHelper
アプリケーションの一部を再利用するPlugin
Copyright © YusukeAndo. 2009. All rights reserved. 17
工夫して小さくまとめるのがCakePHP流
18Copyright © YusukeAndo. 2008. All rights reserved.
国内での普及状況
Stats of CakePHP in Japan
18Copyright © YusukeAndo. 2009. All rights reserved.
What is poplar product in PHP ?
Smarty
PEAR
Ethna
symfony
CakePHP
Copyright © YusukeAndo. 2009. All rights reserved. 19
どれも知名度が高い
Google Trends says .. (2004 - 2006)
Copyright © YusukeAndo. 2009. All rights reserved. 20
Google Trends says .. (2007 - 2009)
Copyright © YusukeAndo. 2009. All rights reserved. 21
CakePHP Guidebook and more.
Copyright © YusukeAndo. 2009. All rights reserved. 22
Also official manual is able to read
Copyright © YusukeAndo. 2009. All rights reserved. 23
http://book.cakephp.org/ja
You can take lesson online
Copyright © YusukeAndo. 2009. All rights reserved. 24
http://d.hatena.ne.jp/i_ogi/20090418/12400443852時間半のレッスン動画とスライドをiogiさんの協力で公開中
Major web sites Made by CakePHP
Copyright © YusukeAndo. 2009. All rights reserved. 25
東京でのCakePHP勉強会(number of attendees)
Copyright © YusukeAndo. 2009. All rights reserved. 26
30 → 50 → 70
CakePHP Conference Tokyo 2008
Copyright © YusukeAndo. 2009. All rights reserved. 27
CakePHPカンファレンスでの出来事
来場者数は130名弱
プロジェクトマネージャ Garret Woodworth氏の講演
カンファレンス語の懇親会も盛況
サプライズも・・・
Copyright © YusukeAndo. 2009. All rights reserved. 28
CakeFestBerlin
Copyright © YusukeAndo. 2009. All rights reserved. 29
CakeFestBerlinでの出来事
ワークショップとカンファレンスの計4日間
13カ国、70名ほどの参加者
コアデベロッパーによる様々な発表
連日連夜のイベント
Copyright © YusukeAndo. 2009. All rights reserved. 30
CakePHPの広がりを実感
Friendly Community
国内・海外の双方で多くのユーザが利用
ユーザの交流の活発さが開発を促進
マネージャーを中心として広域で開発中
コミュニティがプロダクトのレベルを高める
コミュニティがユーザのレベルを高める
Copyright © YusukeAndo. 2009. All rights reserved. 33
Copyright © YusukeAndo. 2009. All rights reserved. 34
ドイツ
ノルウェー
アメリカ
アメリカ
アルゼンチン
35Copyright © YusukeAndo. 2008. All rights reserved.
CakePHPの未来
The future of CakePHP
35Copyright © YusukeAndo. 2009. All rights reserved.
Upcoming CakePHP
CakePHP1.2
CakePHP1.3
CakePHP2
Cake3
Copyright © YusukeAndo. 2009. All rights reserved. 36
PHP5化・PHP5.3化を予定
CakeMatsuriTokyo @ October, 30-31
Copyright © YusukeAndo. 2009. All rights reserved. 37
Follow @cakematsuri
CakeMatsuriTokyo
Garrett Woodworth 等3人のオフィシャルゲスト
ワークショップ日、カンファレンス日の二部構成
グループワーク形式でノウハウを伝授
サプライズも計画中!
ワークショップ 10,000円、カンファレンス 8,500円でそれぞれチケットを近日発売予定
Copyright © YusukeAndo. 2009. All rights reserved. 38
CakePHPの醍醐味
素早く快適な開発
オープンマインドでレベルアップ
まだまだ発展するCakeワールドを楽しんでみませんか?
39Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 40
質疑応答
ご静聴ありがとうございました。