ITエンジニアのための勉強会・イベントレポート情報メディア

Laravel LT #1
event

Laravel LT #1

2017.10.06

 
  • このエントリーをはてなブックマークに追加

7月26日、株式会社Loco Partners主催の勉強会「Laravel LT night #1」に参加してきました。

Laravelは近年急速に人気を集めているPHPフレームワークです。ORマッパーの「Eloquent」、コマンドラインインターフェース「Artisan」、テンプレートエンジン「Blade」、FacadeとDI(IoC)コンテナなど豊富な機能を備え、効率的に保守性の高いWebアプリケーションを開発できるよう設計されています。最新LTS(Long Term Support:バグフィックス2年、セキュリティフィックス3年)となるLaravel 5.5のリリースも間近とあって、当日は多数のPHPerで満席状態でした。

イベントは、「LT night」の名前通り、各5分のLT形式です。各5分なのでとにかく駆け足ですが、簡単にいくつかの発表の内容を紹介しましょう。

鶴田 展之

Eloquent Modelと親和性の高い
オブジェクトを作る

トップは、主催のLoco Partners社で宿泊予約サイト「Relux」のサーバーサイドエンジニアとして活躍されている三寳洋さんによる「Eloquent Model」の実践的な実装についてのLT。Reluxにおいて、宿泊施設の「部屋」「部屋の料金」「在庫」といったDBに依存したオブジェクトと、「料金の内訳」のような、アプリケーションで算出するDBに依存しないオブジェクトをまとめて扱う際に、どのような工夫を行ったか、というお話でした。Eloquent Modelのデータ構造を紐解き、trait、ミューテターを駆使してattributesやrelationshipsをどう扱っていくかという具体的なお話はとても興味深いものでした。

Laravelで実現するモバイルページ高速化

次の登壇者は、株式会社イノベーションの小柳津裕真さん。Google AMP(Accelerated Mobile 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匹の猫がいる。

Laravel LT #1

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW