Your SlideShare is downloading. ×

実"戦"CakePHP Plugin

6,563

Published on

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,563
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
21
Comments
0
Likes
5
Embeds 0
No embeds

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

×