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 次の一歩

3,360 views

Published on

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

Published in: Software
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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. ご静聴ありがとうございました

×