Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
8分で分かる最近のCakePHP 2012/09/15 shin1x1 PHPカンファレンス2012
@shin1x1 • 新原 雅司(しんばら まさし) • 「Shin x blog」 http://www.1x1.jp/blog/                         (c) 2012 Masashi Shinbara @shin...
Kansai PHP Users Group               (c) (c) 2012 Masashi Shinbara @shin1x1                    2012 Masashi Shinbara @shin...
Agenda • 今のCakePHPは? • 次のCakePHPは? • 新機能は何がある?                 (c) 2012 Masashi Shinbara @shin1x1
今のCakePHPは? • CakePHP2.2.2が最新版 • PHP5.2.8以上(例外、PDO etc) • PSR-0に合わせたパス構造 • フレームワークをリファクタリング • lazy loadingによるパフォーマンス改善 • P...
いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppCo...
いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppCo...
いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppCo...
次のCakePHP • 2.2.3が10月予定 • 2.3ブランチも開発中(新機能はこちら) • CakePHP3を発表                 (c) 2012 Masashi Shinbara @shin1x1
CakePHP3 • PHP 5.4 以上 • Modelがオブジェクトを返す • namespace(PSR-0/1 対応) • traitsの利用 • 2013/N 登場?                (c) 2012 Masashi S...
2.1,2.2の新機能 • ビューブロック、継承 • Event System  (Dispatcher Filters) • Hash • ModelValidator                    (c) 2012 Masashi ...
ビューブロック、継承 • Twigライクなビューブロック、継承 • 2.1から登場             (c) 2012 Masashi Shinbara @shin1x1
ビューブロック、継承 親テンプレート<h1><?php echo $this->fetch(title); ?></h1><?php echo $this->fetch(content); ?>                         ...
ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?><?php $this->start(title); ?>ビュー継承テスト<?php $this->end(); ?><?php $t...
ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?>               継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->...
ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?>               継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->...
ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?>               継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->...
Event System • 柔軟なイベント通知、リスナー実装 • Observerパターン • コールバックメソッド呼び出し • 2.1から登場 • Dispatcher Filters(2.2から)                  (c)...
Event System リスナーをアタッチ<?php$this->_eventManager = new CakeEventManager();$this->_eventManager->attach($this->Components);$...
Hashクラス • Set クラスが Hash クラスへ • Set クラスはCakePHP3では廃止 • 2.2から登場               (c) 2012 Masashi Shinbara @shin1x1
まとめ • これから使うなら最新版を(2.2.2) • Cookbookを参考に • もっとCakePHP2を知りたい人は。。。              (c) 2012 Masashi Shinbara @shin1x1
[告知] CakePHP2本が出ます          2012/09/29 発売!          amazonで予約受付中            (c) 2012 Masashi Shinbara @shin1x1
ご清聴ありがとうございました!          (c) 2012 Masashi Shinbara @shin1x1
2.1,2.2の新機能 • ビューブロック、継承 • Event System • Hash                  (c) 2012 Masashi Shinbara @shin1x1
Upcoming SlideShare
Loading in …5
×

8分で分かる最近のCakePHP

6,758 views

Published on

Published in: Technology
  • Be the first to comment

8分で分かる最近のCakePHP

  1. 1. 8分で分かる最近のCakePHP 2012/09/15 shin1x1 PHPカンファレンス2012
  2. 2. @shin1x1 • 新原 雅司(しんばら まさし) • 「Shin x blog」 http://www.1x1.jp/blog/ (c) 2012 Masashi Shinbara @shin1x1
  3. 3. Kansai PHP Users Group (c) (c) 2012 Masashi Shinbara @shin1x1 2012 Masashi Shinbara @shin1x1
  4. 4. Agenda • 今のCakePHPは? • 次のCakePHPは? • 新機能は何がある? (c) 2012 Masashi Shinbara @shin1x1
  5. 5. 今のCakePHPは? • CakePHP2.2.2が最新版 • PHP5.2.8以上(例外、PDO etc) • PSR-0に合わせたパス構造 • フレームワークをリファクタリング • lazy loadingによるパフォーマンス改善 • PHPUnit (c) 2012 Masashi Shinbara @shin1x1
  6. 6. いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppController { public $uses = array(Post); public function add() { if ($this->request->is(post)) { if ($this->Post->save($this->request->data)) { $this->Session->setFlash(Your post has been saved.); $this->redirect(array(action => index)); } else { $this->Session->setFlash(Unable to add your post.); } } }} (c) 2012 Masashi Shinbara @shin1x1
  7. 7. いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppController { public $uses = array(Post); public function add() { if ($this->request->is(post)) { if ($this->Post->save($this->request->data)) { $this->Session->setFlash(Your post has been saved.); $this->redirect(array(action => index)); } else { $this->Session->setFlash(Unable to add your post.); } } }} (c) 2012 Masashi Shinbara @shin1x1
  8. 8. いまどきのコントローラapp/Controller/PostsController.php<?phpApp::uses(AppController, Controller);class PostsController extends AppController { public $uses = array(Post); public function add() { if ($this->request->is(post)) { if ($this->Post->save($this->request->data)) { $this->Session->setFlash(Your post has been saved.); $this->redirect(array(action => index)); } else { $this->Session->setFlash(Unable to add your post.); } } }} (c) 2012 Masashi Shinbara @shin1x1
  9. 9. 次のCakePHP • 2.2.3が10月予定 • 2.3ブランチも開発中(新機能はこちら) • CakePHP3を発表 (c) 2012 Masashi Shinbara @shin1x1
  10. 10. CakePHP3 • PHP 5.4 以上 • Modelがオブジェクトを返す • namespace(PSR-0/1 対応) • traitsの利用 • 2013/N 登場? (c) 2012 Masashi Shinbara @shin1x1
  11. 11. 2.1,2.2の新機能 • ビューブロック、継承 • Event System (Dispatcher Filters) • Hash • ModelValidator (c) 2012 Masashi Shinbara @shin1x1
  12. 12. ビューブロック、継承 • Twigライクなビューブロック、継承 • 2.1から登場 (c) 2012 Masashi Shinbara @shin1x1
  13. 13. ビューブロック、継承 親テンプレート<h1><?php echo $this->fetch(title); ?></h1><?php echo $this->fetch(content); ?> ブロックを出力<div class="actions"> <h3>サイドバー</h3> <ul> <?php echo $this->fetch(sidebar); ?> </ul></div> (c) 2012 Masashi Shinbara @shin1x1
  14. 14. ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?><?php $this->start(title); ?>ビュー継承テスト<?php $this->end(); ?><?php $this->start(sidebar); ?><li>サイドバー1</li><li>サイドバー2</li><?php $this->end(); ?>ここはcontent (c) 2012 Masashi Shinbara @shin1x1
  15. 15. ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?> 継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->end(); ?><?php $this->start(sidebar); ?><li>サイドバー1</li><li>サイドバー2</li><?php $this->end(); ?>ここはcontent (c) 2012 Masashi Shinbara @shin1x1
  16. 16. ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?> 継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->end(); ?> ブロック定義<?php $this->start(sidebar); ?><li>サイドバー1</li><li>サイドバー2</li><?php $this->end(); ?>ここはcontent (c) 2012 Masashi Shinbara @shin1x1
  17. 17. ビューブロック、継承 子テンプレート<?php $this->extend(/Common/view); ?> 継承<?php $this->start(title); ?>ビュー継承テスト<?php $this->end(); ?> ブロック定義<?php $this->start(sidebar); ?><li>サイドバー1</li><li>サイドバー2</li><?php $this->end(); ?>ここはcontent contentブロック (c) 2012 Masashi Shinbara @shin1x1
  18. 18. Event System • 柔軟なイベント通知、リスナー実装 • Observerパターン • コールバックメソッド呼び出し • 2.1から登場 • Dispatcher Filters(2.2から) (c) 2012 Masashi Shinbara @shin1x1
  19. 19. Event System リスナーをアタッチ<?php$this->_eventManager = new CakeEventManager();$this->_eventManager->attach($this->Components);$this->_eventManager->attach($this); イベント通知<?php$this->getEventManager() ->dispatch(new CakeEvent(Controller.initialize, $this));$this->getEventManager() ->dispatch(new CakeEvent(Controller.startup, $this)); (c) 2012 Masashi Shinbara @shin1x1
  20. 20. Hashクラス • Set クラスが Hash クラスへ • Set クラスはCakePHP3では廃止 • 2.2から登場 (c) 2012 Masashi Shinbara @shin1x1
  21. 21. まとめ • これから使うなら最新版を(2.2.2) • Cookbookを参考に • もっとCakePHP2を知りたい人は。。。 (c) 2012 Masashi Shinbara @shin1x1
  22. 22. [告知] CakePHP2本が出ます 2012/09/29 発売! amazonで予約受付中 (c) 2012 Masashi Shinbara @shin1x1
  23. 23. ご清聴ありがとうございました! (c) 2012 Masashi Shinbara @shin1x1
  24. 24. 2.1,2.2の新機能 • ビューブロック、継承 • Event System • Hash (c) 2012 Masashi Shinbara @shin1x1

×