More Related Content
Similar to 実"戦"CakePHP Plugin
Similar to 実"戦"CakePHP Plugin (20)
More from Kenichirou Oyama
More from Kenichirou Oyama (11)
実"戦"CakePHP Plugin
- 4. About Me
• name:
– Kenichirou Oyama (id:k1LoW)
• from Fukuoka JAPAN
• membership:
–
– 101000code/101000LAB
– codecheck.in
• “cake.el” maintener
– CakePHP Emacs Minor Mode
CakePHP勉強会#5@Tokyo 福岡サテライト 4
- 5. 実"戦"で使う
Plugin/Component
CakePHP勉強会#5@Tokyo 福岡サテライト 5
- 6. CakePHPで戦えますか?
• 入社からCakePHP導入を主導して現
在まで3年、FusicのPHPチームのメ
インフレームワークはCakePHPに。
• 実戦で使っているPlugin( )や
導入済
Component、さらに今後実戦投入予
定のPlugin、Component( 投入予定
)を
紹介します。
CakePHP勉強会#5@Tokyo 福岡サテライト 6
- 7. 導入済
Debug Kit
CakePHP勉強会#5@Tokyo 福岡サテライト 7
- 9. 導入済
Ktai Library
CakePHP勉強会#5@Tokyo 福岡サテライト 9
- 12. 導入済
cakeplus
• id:cakephperさん作成のCakePHP拡張
Plugin
– 自分がメインのプロジェクトでは常に使用
• 個人的には当たり前レベル
• 特にバリデーション周りの拡張は重要
– 日本でのシステムの一般的なバリデーション
メソッドの充実
– バリデーションエラーメッセージに__()が設
定できる
• みなさん使っていますか?
CakePHP勉強会#5@Tokyo 福岡サテライト 12
- 14. 投入予定
Search
• CakeDC謹製の検索機能追加用Plugin
• 使ってみたらため息がでるほど簡単に検
索機能を追加できた
• つづきはWebで検索!
Fusic blog 検索
CakePHP勉強会#5@Tokyo 福岡サテライト 14
- 16. 投入予定
TransitionComponent
• id:hiromi2424さん作成のページ遷移管理
コンポーネント
• ここ最近のNo.1ヒット
• 日本のみんなが大好き(?)な確認画面なん
てすぐ作れる
CakePHP勉強会#5@Tokyo 福岡サテライト 16
- 18. その他
• QdmailComponent 投入予定
– メール定番のQdmail用コンポーネント
• cakephp_exception_notifier 導入済
– PHPエラーが起きたらメール送信
• Fatty 導入済
– Gitリポジトリブラウザ。自作ながら個人的定番
• has_no 投入予定
– bindModel()/unbindModel()に疲れた方に
• po 導入済
– poファイル編集Plugin。cakeplusとあわせて個人的
定番
CakePHP勉強会#5@Tokyo 福岡サテライト 18
- 20. About 'futil'
• Fusic社内用CakePHP Plugin
– FusicでのCakePHPプロジェクトか
ら自分を中心に作成したライブラリ
群
– 汎用的なものよりも実戦的なものが
多い
• 環境依存も多数
– 主に開発効率をあげるもの
CakePHP勉強会#5@Tokyo 福岡サテライト 20
- 23. $cake f
OR
$php cake/console/cake.php f
CakePHP勉強会#5@Tokyo 福岡サテライト 23
- 25. Library init
• PluginやComponent、PHPのライブ
ラリまで選択するだけでインストー
ルを行うコマンド
• 必要ならばソースに設定を書き加え
る
• 現在インストール可能なライブラリ
– debuglib, DebugKit, SimpleTest, cakeplus, po,
has_no, simple_file, Search,
TransitionComponent, Qdmail, Qdsmtp,
wkhtmltopdf, Fatty
CakePHP勉強会#5@Tokyo 福岡サテライト 25
- 27. Design init
• CakePHPのデフォルトテンプレート
を書き換えるコマンド
– bakeコマンドで生成されるソース
ファイルも変更
• 必要なイメージ画像やjs、cssまで
セットする
• 現在選択できるデザインは3つ
– 簡単にテンプレートの追加が可能
• CakePHP1.3の機能を使用
CakePHP勉強会#5@Tokyo 福岡サテライト 27
- 33. Validation Pattern Behavior
• 同じモデルバリデーションを1つにま
とめるBehavior
– 例えば、一般ユーザの姓名のバリデー
ションと管理ユーザの姓名のバリデー
ションをそれぞれ書かなくてもよい
• cakeplusにもコミットしている謎の
プログラマ"Kagasawa-san"作成の実
戦に即したBehavior
CakePHP勉強会#5@Tokyo 福岡サテライト 33
- 34. Validation Pattern Behavior
<?php
class UserModel extends AppModel {
var $validate = array(
// 姓
'family_name' => array(
'notEmptyFamilyName' => array(
'rule' => 'notempty',
'allowEmpty' => false,
'last' => true,
),
'notSpaceOnlyFamilyName' => array(
'rule' => 'space_only',
'allowEmpty' => true,
'last' => true,
),
'zenkakuOnlyFamilyName' => array(
'rule' => 'zenkaku_only',
'allowEmpty' => true,
'last' => true,
),
),
);
}
CakePHP勉強会#5@Tokyo 福岡サテライト 34
- 35. Validation Pattern Behavior
<?php
class UserModel extends AppModel {
var $actsAs = array('Futil.ValidationPatterns');
var $validate = array(
// 姓
'family_name' => 'family_name_pattern',
);
}
CakePHP勉強会#5@Tokyo 福岡サテライト 35
- 37. その他
• app/tmp内のキャッシュファイルをコマ
ンドで一括削除できたり
• .pdfをURLにつけるとpdf出力ができたり
• sqlとモデルファイルを分離できたり
• NetBeansハック用コメントを挿入できた
り
• ユーザ認証をコマンドで実装できたり
CakePHP勉強会#5@Tokyo 福岡サテライト 37
- 38. まとめ
• いろいろなPluginがものすごい勢いでリ
リース。
– 特にgithubをチェック
• 最近は「システム依存は
Helper/Component/Behavior。汎用的な
ものはPlugin」というようになってきた。
• (社内)ツールをまとめたPluginおすすめ
– id:slywalkerさんの言っていたことは本当
– http://d.hatena.ne.jp/slywalker/20090523/1243059244
CakePHP勉強会#5@Tokyo 福岡サテライト 38