2019に一般参加してきましたので、参加レポートを上げさせて頂きます。ちなみに私のLaravel使用歴は半年未満でまだ認証機能のカスタマイズ程度までしかやったことがないので、基本的に初心者向けのセッションを選びました。SendGridに関する捜査を行うサービスクラス(コンポーネント)統計の都合上、ユーザと管理者でAPIキーを分けることになった※「SendGrid」とはクラウドベースのメール配信サービスAPIで送るとメールを投げてくれる例ではAPIキーをコンストラクタにべた書き→分けたいクラスを複数作る?どんどん増えるのか?セッターメソッドを作る?インスタンスの状態を管理する必要があるどちらも難ありDIとは?インスタンスの生成に必要な設定をコンストラクタの引数で渡す外から渡すので指定を変更できる構造も柔軟に対応できるサービスコンテナ・サービスプロバイダメール関連の処理は色々なところで使われる毎回サービスを生成する?サービスを毎回作りたくないサービスコンテナDIを使うとnewの回数が増えるサービスの生成方法も一括して管理したいサービスプロバイダサービスコンテナとは?サービスをまとめて管理するツールイメージはサービスを値に入れる「グローバルな連想配列」Laravelのappはサービスコンテナを指すresolveメソッドでサービスをコンテナから取得できる(サービスコンテナにキーとサービスを登録するのに使うのがbindか)サービスプロバイダとは?サービスコンテナのデータ登録方法アプリの一番最初に呼び出されるregisterを使って登録まとめ色々な技術を使っているから難しそうに見える分解していくと見えるDIサービスコンテナ・サービスプロバイダその他サービスプロバイダはapp/config/app.phpのprovidersに登録する必要がある所感Laravelのコアな機能であるサービスコンテナとサービスプロバイダについてざっくりと概略を掴むことができました。PackageサービスプロバイダがGithub等で公開composer経由でインストール可ライブラリ開発だけではないパッケージ開発サービスプロバイダ起点DIやモジュール登録だけではなく、artisanやmigrationの登録もOKクラスはautoload。autoloadとサービスプロバイダで読み込むmigration登録は他の手法もあるが、5.7からはスライドで紹介している方法が使われているとのこと。所感appディレクトリの中に色々詰め込むものだと思っていたため、appの外にモジュールとして摘出できるということに驚きました。Laravelの柔軟性の高さの一部を垣間見た気がしました。Qiita全体の内容・所感LaravelというよりはPHPの単体(ユニット)テストについて、PHPUnitを使用した場合の環境構築から使用方法、実際のユースケースに似せての課題に取り組むという、テスト初心者のためのワークショップでした。単体テストはいつかやろうと思ったままなかなか導入できずに1~2年が過ぎていたので、ようやく手を付けることができて手ごたえを感じました。CakeというMVC型のフレームワークを経験し、それ以前から単体テストのやり方を調査する中で機能ごとに分離するように気を付けていました。それらを含めて、単体テストの書き方や、テスト導入のために気を付けることなど、漸く繋がってきた気がしました。個人的にはこのワークショップに参加できただけでもかなり収穫だったと思います。Amazonの著者トークがあったり、LTがカオス(特にLaravel3.0をPHP7環境で動かすというものと、PHPでJavaを動かすというもの)で楽しく、面白かったです。Telescopeが非常に便利そうといった、明日にもすぐ使える知識や概念を学ぶことができたので、非常に有意義なカンファレンスだったと思います。都会の冷淡無機質な感じが。写真そこそこありました。鞄の中でスペースを取らないタイプのペットボトル懇親会チケットとランチチケットランチチケットと引き換えのお弁当。高そう......!すきやき弁当でした。Conferenceこの記事を書いた人アルム=バンドフロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。RasPiで遊んだり、趣味で開発したり。