実"戦"CakePHP Plugin
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,057
On Slideshare
6,910
From Embeds
1,147
Number of Embeds
7

Actions

Shares
Downloads
20
Comments
0
Likes
5

Embeds 1,147

http://doda.jp 792
http://cms.doda.jp 165
http://www.slideshare.net 143
https://twitter.com 20
https://doda.jp 15
https://cms.doda.jp 11
http://localhost 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 実"戦" CakePHP Plugin Kenichirou Oyama (k1LoW) CakePHP勉強会#5@Tokyo 福岡サテライト 1
  • 2. Agenda • About Me • 実"戦"で使うPlugin/Component • About 'futil' CakePHP勉強会#5@Tokyo 福岡サテライト 2
  • 3. About Me CakePHP勉強会#5@Tokyo 福岡サテライト 3
  • 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
  • 8. 説明不要 CakePHP勉強会#5@Tokyo 福岡サテライト 8
  • 9. 導入済 Ktai Library CakePHP勉強会#5@Tokyo 福岡サテライト 9
  • 10. 説明不要 CakePHP勉強会#5@Tokyo 福岡サテライト 10
  • 11. cakeplus CakePHP勉強会#5@Tokyo 福岡サテライト 11
  • 12. 導入済 cakeplus • id:cakephperさん作成のCakePHP拡張 Plugin – 自分がメインのプロジェクトでは常に使用 • 個人的には当たり前レベル • 特にバリデーション周りの拡張は重要 – 日本でのシステムの一般的なバリデーション メソッドの充実 – バリデーションエラーメッセージに__()が設 定できる • みなさん使っていますか? CakePHP勉強会#5@Tokyo 福岡サテライト 12
  • 13. Search CakePHP勉強会#5@Tokyo 福岡サテライト 13
  • 14. 投入予定 Search • CakeDC謹製の検索機能追加用Plugin • 使ってみたらため息がでるほど簡単に検 索機能を追加できた • つづきはWebで検索! Fusic blog 検索 CakePHP勉強会#5@Tokyo 福岡サテライト 14
  • 15. TransitionComponent CakePHP勉強会#5@Tokyo 福岡サテライト 15
  • 16. 投入予定 TransitionComponent • id:hiromi2424さん作成のページ遷移管理 コンポーネント • ここ最近のNo.1ヒット • 日本のみんなが大好き(?)な確認画面なん てすぐ作れる CakePHP勉強会#5@Tokyo 福岡サテライト 16
  • 17. その他 CakePHP勉強会#5@Tokyo 福岡サテライト 17
  • 18. その他 • QdmailComponent 投入予定 – メール定番のQdmail用コンポーネント • cakephp_exception_notifier 導入済 – PHPエラーが起きたらメール送信 • Fatty 導入済 – Gitリポジトリブラウザ。自作ながら個人的定番 • has_no 投入予定 – bindModel()/unbindModel()に疲れた方に • po 導入済 – poファイル編集Plugin。cakeplusとあわせて個人的 定番 CakePHP勉強会#5@Tokyo 福岡サテライト 18
  • 19. About 'futil' CakePHP勉強会#5@Tokyo 福岡サテライト 19
  • 20. About 'futil' • Fusic社内用CakePHP Plugin – FusicでのCakePHPプロジェクトか ら自分を中心に作成したライブラリ 群 – 汎用的なものよりも実戦的なものが 多い • 環境依存も多数 – 主に開発効率をあげるもの CakePHP勉強会#5@Tokyo 福岡サテライト 20
  • 21. futilの代表的な機能の紹介 CakePHP勉強会#5@Tokyo 福岡サテライト 21
  • 22. f コマンド CakePHP勉強会#5@Tokyo 福岡サテライト 22
  • 23. $cake f OR $php cake/console/cake.php f CakePHP勉強会#5@Tokyo 福岡サテライト 23
  • 24. Library init $cake f l CakePHP勉強会#5@Tokyo 福岡サテライト 24
  • 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
  • 26. Design init $cake f d CakePHP勉強会#5@Tokyo 福岡サテライト 26
  • 27. Design init • CakePHPのデフォルトテンプレート を書き換えるコマンド – bakeコマンドで生成されるソース ファイルも変更 • 必要なイメージ画像やjs、cssまで セットする • 現在選択できるデザインは3つ – 簡単にテンプレートの追加が可能 • CakePHP1.3の機能を使用 CakePHP勉強会#5@Tokyo 福岡サテライト 27
  • 28. Design init CakePHP勉強会#5@Tokyo 福岡サテライト 28
  • 29. Design init CakePHP勉強会#5@Tokyo 福岡サテライト 29
  • 30. Design init CakePHP勉強会#5@Tokyo 福岡サテライト 30
  • 31. Design init Pluginとしてオープンソース化予定 ※急募:クールなPlugin名 CakePHP勉強会#5@Tokyo 福岡サテライト 31
  • 32. Validation Pattern Behavior CakePHP勉強会#5@Tokyo 福岡サテライト 32
  • 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
  • 36. Validation Pattern Behavior cakeplusにpull request予定 id:cakephperさんお願いします! CakePHP勉強会#5@Tokyo 福岡サテライト 36
  • 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
  • 39. 告知 7月CakePHP@Fukuoka開催予定! ※スペシャルゲストも! CakePHP勉強会#5@Tokyo 福岡サテライト 39