最終日ですよ
メリークリスマス!Laravel Advent Calendar 2014最終日担当の @localdisk です。クリスマスに予定が入っていないので当日に書いています。やりましたね。
Advent Calendar を振り返って
今年の Advent Calendar を振り返って思うのは、やはり参加者が増えたことでしょうか。去年はアレでしたからね。
- @localdisk が7日
- @HiroKws が6日
- @ytake が4日
という3人で約7割消化するというね、無理矢理感がすごかった。それに較べて今年は多くても僕が3日だけなんでね。かなり楽になりました。それにやはり参加者が多いと読者として楽しみが多いです。どのエントリも面白かった!
…で、まぁ残念な点ですが完走できなかったことですかね(自分の事を棚に上げるのは得意です)。まぁ忙しいですからね。しょうがない部分はあります。ネタに走ってもよかったのよ?
というわけで、皆さんに書いて頂いたエントリを振り返っていきましょう。未読の方はどれも参考になると思うのでよかったら読んでみて下さいね。
1日目 : Laravel5 route, event アノテーション
Laravel5 新機能ネタ1発目ですね。この部分は結局どうなるかなぁと注意深く見守ってます。この機能がコミットされた当初は全面的に使っていく感じで routes.php
が削除されたこともありました。現在はオプション扱いで「使いたい人はどうぞ」みたいになってます。
このエントリでルート定義時に $router->get
という記述が使われていますが、この $router
は App\Providers\RouteServiceProvider
から**来ていました。**来ていましたと過去形なのは RouteServiceProvider
の実装が少し変わったようで現在 routes.php
は従来の Facade
を使用したものに変更されています。
2日目 : フロントエンド片手間ンによる Laravel Elixir 入門
僕が書いたやつ。これ書くために初めて node.js
と gulp
入れました。Advent Calendar 駆動で勉強してエントリ起こしました。ここ僕より詳しい人たくさんいると思います。
3日目 : Laravel5 Testing, use Contracts
地味ですが、Laravel5 の目玉のひとつと言えると思います。これあるのとないのではコア部分を拡張する時の手数が全然違ってきます。
で、さらに素晴らしいのは、これ別に知らなきゃ知らないで別に困らないです。あくまで機能の拡張や置換、フレームワークの理解には必要なことですが、プロトタイピング等ライトに使う場合は特に覚える必要はありません。
4日目 : Laravel Socialite で簡単ソーシャルログイン
続き書く書く詐欺エントリ。年末休みにやっときます。すいません。
5日目 : Laravelでいくつかサービス作ってみた話
@syossan27 の Laravel を実戦投入した話。僕、実はあんまり仕事で Laravel 使ってないので羨ましかったり。あと、最後に書かれてるように Laravel 始めて「わかんねぇ!」ってなったら twitter でつぶやいて見てください。僕、Laravel
で1日1回は検索してるので。見つけ次第お答えしますので。
6日目 : 派遣労働者から見た、「まずはこう使え、DIコンテナ」
現場のつらみがにじみ出てるエントリですね。これ読んだ時、過去の現場でとんでもソースに遭遇してウッってなった時のことを思い出しました。
Laravel5 からメソッドインジェクションがサポートされますので、コンストラクタで引数がえらいことになるのは、これからなくなると思います。あとは Mockery
をうまく使ってテストを頑張って回してください…。
7日目 : connection を切り替えて relation の loading をしたかった時の話
アプリケーションの中で動的にコネクションを切り替えたい時の苦肉の策…といった感じのエントリですね。マスター/スレーブ構成なら Read/Write Connection 使ったり、決めうちなら Model
の connection
フィールドを定義しておくということができるんですが、こういったケースは Eloquent
では逆に複雑になっちゃうので Query Builder
を使うのがおすすめです。
DB::connection('slave')...
といった感じで。
8日目 : Laravel5 コマンド登録とスケジュール機能について
これめっちゃ便利ですよね。以前から似たようなことは "indatus/dispatcher"
で実現できてるんですが、今回はソースを取り込むのではなく自力実装した模様。これで cron
に色々定義していたのが一元化できて管理しやすくなりました。
9日目 : 自分流 Laravel 4 アプリケーションアーキテクチャ
これ見たとき「なるほどなー」って声がでました。素で。会社で。Laravel をディープに使う人ってあまり Laravel デフォルトのディレクトリ構成を使わない傾向があるように思います。
デフォルトの構成だと意図的に名前空間を使ってない部分があって手軽な反面、名前がかぶってしまったらクラス名を変更する他ないですからね。
このエントリは PSR-4 をフルに使用することによってそういった問題を回避。Service層を設けて Controller
と Model
が結合しないようにしています。この Service層を用いる方法や、最近はやりの Repository パターンを見ると、昔 SIer で Java 開発していた頃を思い出します。
この他 Trait の使用など知見にあふれています。こういうのって実際の開発で試行錯誤しないと出てこないだろうなと。すごい。
良し悪しはともかくとして最近の PHP は J2EE(JavaEEじゃなくて) の頃のトレンドの後追いをしている感がありますね(DIとかAOPとか).
続きは来年で!このエントリをストックしておくと変更が通知されるので、続きが気になる方はぜひ。
良いお年を