#1」に参加してきました。Laravelは近年急速に人気を集めているPHPフレームワークです。ORマッパーの「Eloquent」、コマンドラインインターフェース「Artisan」、テンプレートエンジン「Blade」、FacadeとDI(IoC)コンテナなど豊富な機能を備え、効率的に保守性の高いWebアプリケーションを開発できるよう設計されています。5.5のリリースも間近とあって、当日は多数のPHPerで満席状態でした。night」の名前通り、各5分のLT形式です。各5分なのでとにかく駆け足ですが、簡単にいくつかの発表の内容を紹介しましょう。Model」の実践的な実装についてのLT。Reluxにおいて、宿泊施設の「部屋」「部屋の料金」「在庫」といったDBに依存したオブジェクトと、「料金の内訳」のような、アプリケーションで算出するDBに依存しないオブジェクトをまとめて扱う際に、どのような工夫を行ったか、というお話でした。Modelのデータ構造を紐解き、trait、ミューテターを駆使してattributesやrelationshipsをどう扱っていくかという具体的なお話はとても興味深いものでした。次の登壇者は、株式会社イノベーションの小柳津裕真さん。Pages)を使って、モバイルページを高速化するお話です。現在、多くのサイトでPCよりもスマートデバイスの方が、閲覧数が上回っています。スマホで快適に閲覧できるモバイルページを用意することは、Webサイト運営の重要課題です。そこでモバイルページの高速化技術として注目されているのがAMPですが、AMP対応には専用のHTMLを記述する必要があるため、既存のWebサイトにとっては、なかなか敷居が高いのも事実でしょう。そこでLaravelのミドルウェアを利用し、レスポンスを正規表現で書き換えることでAMPに対応させよう、という実用的な内容でした。CRUDアプリから一歩踏み出す3つのアプローチ実装例とはちょっと離れ、Laravelも含めたフレームワークとの付き合い方について語る@kurikazuさんのセッションは、多くの示唆に富むものでした。FacadeはLaravelの便利な機能ですが、よく考えないと知らぬ間に密結合なクラスができやすく、テストを書く段になってそれに気付くことになります。Eloquentも、DBのテーブル設計が制約を受けることでDBとフレームワークの主従が逆転してしまうケースがあるので、Eloquentありきで考えるのではなく、あくまでDB連携手段のひとつと捉え、目的に応じてクエリビルダや生のSQLと使い分けることが大切だそうです。Laravelはとくに「ゆるふわ」で「重厚」なフレームワークなので、デザインパターンや設計手法をきちんと考えながらアプリケーションを作っていく必要があります。そのためにも「テストコード」を書くことは大切、ということでした。筆者も最近になってLaravelを勉強しているところで、5分ごとのLTは正直話しについていくのがやっとでしたが、模範的な使い方、実践的なコードも見られてさらに学習意欲が湧きました。#2にも期待したいと思います。鶴田展之qnote代表取締役。オープンソースソフトウェアを用いたシステムインテグレーション及びコンサルティングの傍ら、技術書を中心に多数の著述活動を行う。オフィスには7匹の猫がいる。Glass」、失敗を糧に復活...2017.10.05次の記事VRエンジニアに求められるスキルとは?...2017.10.10前へTOPに戻る次へおすすめの記事2019.12.16エンジニアにとってマイナビで働く魅力とは!?『マイナビTec...2019.09.13失敗LT大会。ルーキーエンジニアが「あるある」失敗をライトニ...2019.09.11失敗LT大会。Corporation。