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.

Laravel / Lumen 次の一歩

Laravel / Lumenの次の一歩へ進むためのヒント

  • Be the first to comment

Laravel / Lumen 次の一歩

  1. 1. Laravel / Lumen 次の一歩 ytake / 20150529 Laravel LT at JP
  2. 2. Profile • ytake (github), ex_takezawa(twitter) • java, php, node.js, RDBMS, NoSQL, VoltDB
  3. 3. 4章を担当させていただきました Containerなど盛り沢山
  4. 4. Facade Really useful :)
  5. 5. != GoF Facades
  6. 6. Facadeを利用する上での問題 • static だと思ってしまう。(養成読本をどうぞ!) • 確かに楽ですが、テストコード正しく書けてま すか? • どこでも簡単に使えるので、
 非構造化になりがち
  7. 7. Eloquentも同じ
  8. 8. public function getEntries() { $entries = Entry::all() ->toArray(); if(!count($entries)) { throw new Exception; } }
  9. 9. $eloquentMock = m::mock(‘overload:App RepositoriesEloquentEntry'); $collection = m::mock(‘Illuminate DatabaseEloquentCollection'); $eloquentMock ->shouldReceive(‘all') ->andReturn($collection); $collection->shouldReceive(‘toArray') ->andReturn([1, 2, 3]);
  10. 10. 次のステップにいくには 構造化を考えることが大事
  11. 11. インターフェース/疎結合
  12. 12. インターフェース 具象クラス バインド
  13. 13. インターフェース 具象クラス インターフェース 具象クラス インターフェース 具象クラス インターフェース 具象クラス インターフェース 具象クラス インターフェース 具象クラス コンテナ *イメージ
  14. 14. コンストラクタ・メソッド インジェクションで解決
  15. 15. HogeClass constructor 具象クラス インターフェース
  16. 16. HogeClass hogeと名付けよう
 サービスロケータなど
  17. 17. 名前 具象クラス 名前 具象クラス インターフェース 具象クラス インターフェース 具象クラス 名前 具象クラス インターフェース 具象クラス コンテナ *イメージ
  18. 18. Facade 具象クラス インターフェース
 名前 *関連性にアクセスするためのもの
  19. 19. // バインディング $this->app->bind( 'AppHogeable', 'AppHoge' ); // 関係性にアクセサ名 $this->app->bind('hoge', function() { return $this->app->make('AppHogeable'); });
  20. 20. バインドの次は、 Facadeの実クラスを知ること よりテストがしやすく 補完にもやさしい
  21. 21. DB => DatabaseManager
  22. 22. Redirect => Redirector + UrlGenerator + RouteCollection
 + Request
  23. 23. 概念も分離
  24. 24. DB リポジトリ エンティティ Eloquent / ORM
  25. 25. ストレージ リポジトリ DBに依存してはならない
  26. 26. HogeClass リポジトリ サービス I/F I/F
  27. 27. Route formRequest Controller before
 middleware after
 middleware view
  28. 28. Route formRequest Controller before
 after
 view サービス I/F リポジトリ I/F dispatch
  29. 29. 分離することで見えてくる
 フレームワーク
  30. 30. 本当のLaravelはここから
  31. 31. ご静聴ありがとうございました

    Be the first to comment

    Login to see the comments

  • yutanakano395

    Jun. 17, 2015
  • ssuser4100fc

    Jun. 18, 2015
  • okanoosamu

    Jun. 22, 2015
  • sotaroomura

    Jun. 30, 2015
  • inaka_phper

    Jul. 20, 2015
  • JohnnyFung7

    Jul. 3, 2019

Laravel / Lumenの次の一歩へ進むためのヒント

Views

Total views

3,657

On Slideshare

0

From embeds

0

Number of embeds

1,480

Actions

Downloads

7

Shares

0

Comments

0

Likes

6

×