Upload
yandod
View
1.659
Download
8
Embed Size (px)
Citation preview
CakePHP道1Copyright © YusukeAndo. 2009. All rights reserved.
Yusuke Ando
October ,31 2009
CakePHP Way
About me
名前 安藤祐介 aka @yando
所属 楽天株式会社 RAKUTEN inc
PHPについて喋ったり、書いたりしています
CakePHPやRedmineについての活動
RedmineをPHPに移植するcandycaneもやってます
Loving cat, curry, golf and CakePHP.
Copyright © YusukeAndo. 2008. All rights reserved. 22Copyright © YusukeAndo. 2009. All rights reserved.
日本OSS奨励賞
Copyright © YusukeAndo. 2008. All rights reserved. 33Copyright © YusukeAndo. 2009. All rights reserved.
CakePHPのコミュニティ活動が公式に受賞
日本OSS奨励賞
Copyright © YusukeAndo. 2008. All rights reserved. 44Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 5
アジェンダ
価値
道
心
技
世界
6Copyright © YusukeAndo. 2008. All rights reserved.
価値Value of 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.
PHPer at all levels
全てのレベルのPHPユーザ
9Copyright © YusukeAndo. 2009. All rights reserved.
Both novice and expart are target
簡単に使いたい初心者
拡張しまくりたい上級者
上級者向けに思われがちなフレームワークを気軽に利用できるスタイル
10Copyright © YusukeAndo. 2009. All rights reserved.
Features for norvice
面倒なインストール・設定作業はほぼ皆無
少ないコードの量で機能を実装可能
サーバやコマンドライン、ライブラリの知識は不要
かんたんなおまじないでデータベースなどを自動処理
Copyright © YusukeAndo. 2009. All rights reserved. 11
PHPの知識があればOK!
Google Trends says .. (2004 - 2006)
Copyright © YusukeAndo. 2009. All rights reserved. 12
Google Trends says .. (2007 - 2009)
Copyright © YusukeAndo. 2009. All rights reserved. 13
Major web sites Made by CakePHP
Copyright © YusukeAndo. 2009. All rights reserved. 14
CakePHP Guidebook and more.
Copyright © YusukeAndo. 2009. All rights reserved. 15
東京でのCakePHP勉強会(number of attendees)
Copyright © YusukeAndo. 2009. All rights reserved. 16
30 → 50 → 70
CakePHP Conference Tokyo 2008
Copyright © YusukeAndo. 2009. All rights reserved. 17
CakeFestBerlin
Copyright © YusukeAndo. 2009. All rights reserved. 18
Massive users are just value
障壁が低くユーザが多い
ユーザが多い事が価値
19Copyright © YusukeAndo. 2009. All rights reserved.
20Copyright © YusukeAndo. 2008. All rights reserved.
道Way
20Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 21
Philosophy of “Dou”
術
かなり局所的な技術
Ex) CakePHP活用術 剣術 柔術
法
体系化された技法
Ex) CakePHP活用法 呼吸法
道
技術だけではなく精神論を伴っている
Copyright © YusukeAndo. 2009. All rights reserved. 22
Philosophy of “Dou”
芸道
生活において、みずからの芸を高めてゆく
武道
練習・試合により人格の完成を目指す
少数の基本技と多数の応用技がある
日本全国で練習・試合ができること
23Copyright © YusukeAndo. 2008. All rights reserved.
心Mind
23Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 24
ぼくとわたしのCakePHP
CakeMatsuri応援企画
各自でCakeの思い出をリレー形式で書く
書いてみて物思いにふける確率極めて大
Copyright © YusukeAndo. 2009. All rights reserved. 25
CakePHPを使う事について
勉強会に参加するだけで精一杯で、発表なんてとんでもないという状態だった自分が、発表をして、司会として、運営をしてとなっていくわけです。
外に出ていろんな人に出会って刺激を受けるのが楽しい!ってのが一番の理由かも...
この行為がとても自分の世界観を広げたというか、華麗なる一歩だったように思います。
アドバイスもらえたり、知らないことを教えてくれたり、自分のやってることに賛同してくれたり、本当に力を貰いました。
まさに
練習・試合により人格の完成に近づく状態
26Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 27
CakePHPコミュニティの哲学
Give back much as you take.
もらった分だけ返す
Be polite
礼儀正しく
Think outside the box
自分の認識の外があることを意識する
Copyright © YusukeAndo. 2009. All rights reserved. 28
具体的には
ネットや勉強会からどんどん吸収
フレンドリーなコミュニティが存在している
吸収した自分でできる事で還元
ブログ
バグレポート
Githubやbakeryでコードを公開
解決法はたくさんある
優劣ではない
自分の思いつかないものを取り入れて、自分の幅を広げる
Copyright © YusukeAndo. 2009. All rights reserved. 29
CakePHPを使ったMVC設計のベストプラクティス
Copyright © YusukeAndo. 2009. All rights reserved. 30
例
元リードデベロッパNateはこう直した
31Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 32
こんな改修を普通は思いつかない
33Copyright © YusukeAndo. 2009. All rights reserved.
外部からの刺激は絶対必要
34Copyright © YusukeAndo. 2009. All rights reserved.
完全なコードなどない
35Copyright © YusukeAndo. 2009. All rights reserved.
書いて、そして直す
36Copyright © YusukeAndo. 2009. All rights reserved.
37Copyright © YusukeAndo. 2008. All rights reserved.
技Technique
37Copyright © YusukeAndo. 2009. All rights reserved.
CakePHPにおける技
基本のMVCとその拡張の為の仕組み
Component
plugin
Helper
View
Behavior
DataSource
Set
Copyright © YusukeAndo. 2009. All rights reserved. 38
Set::combine
Copyright © YusukeAndo. 2009. All rights reserved. 39
$data = $this->User->find('all');
$data = Set::combine($data,'{n}.User.mail','{n}.User..name’);
Cake特有の配列を簡素化
公開されているソースコードから学ぶ
Remora
Cookbook
Croogo
Candycane
Copyright © YusukeAndo. 2009. All rights reserved. 40
Croogo
Copyright © YusukeAndo. 2009. All rights reserved. 41
バングラデシュのFahad氏作
Croogo
Copyright © YusukeAndo. 2009. All rights reserved. 42
Croogo
Copyright © YusukeAndo. 2009. All rights reserved. 43
Croogo
Copyright © YusukeAndo. 2009. All rights reserved. 44
Croogoの中身
Component
4つのコンポーネント
Helper
7つのヘルパー
Behavior
4つのベヘイビア
Copyright © YusukeAndo. 2009. All rights reserved. 45
複雑なアプリをうまく整理
全てはクリーンで小さなコードの為に
46Copyright © YusukeAndo. 2009. All rights reserved.
47Copyright © YusukeAndo. 2008. All rights reserved.
世界World
47Copyright © YusukeAndo. 2009. All rights reserved.
CakePHPで世界が身近になる
コアデベロッパーの活動
日本からでも身近に感じる事ができる
各国のユーザー
たとえばバングラディッシュ
Bakery
ノウハウの宝庫
I18n
自分のアプリケーションを国際化できる
Copyright © YusukeAndo. 2009. All rights reserved. 48
CakePHPで世界とつながれ
49Copyright © YusukeAndo. 2009. All rights reserved.
Copyright © YusukeAndo. 2009. All rights reserved. 50
Philosophy of “CakePHPDou”
CakePHP道
外部からのインプットとアウトプットでインスピレーションを磨き続ける
さまざまなテクニックを使って小さなコードを目指す
世界とダイレクトにつながって、世界観を広げる
これぞCakePHP道
Copyright © YusukeAndo. 2009. All rights reserved. 51
質疑応答
ご静聴ありがとうございました。