技術情報

PHPフレームワーク「Laravel」とは

PHPWebアプリケーションフレームワーク「Laravel」について紹介します。

Laravelを使ったオフショア開発は、こちらへ

概要

「Laravel」とは

Laravelは、MVCモデルを採用した、オープンソースのPHPWebアプリケーション開発用フレームワークです。

基本説明

ルーティング、モデル、ビュー、コントローラなどのフレームワークに必要な機能は、一通り搭載されています。他のPHPフレームワークになじみがある開発者なら、すぐに理解できます。デメリットらしいデメリットはなく、拡張性があるフレームワークです。

「MITライセンス」としてオープンソースリリースされており、GitHubでホスティングされています。

Laravelは、PHP5.3以上の新しいバージョンのPHPが求められます。

経緯

マイクロソフト「.NET」開発に関わっていたTaylor Otwell氏が開発しました。最初は、趣味として作成されたものでしたが、そのクオリティの高さにスポンサーが付き、コミュニティーの支援もあり、1年足らずで急速に大きく発展しました。

「Laravel」の名前は、『ナルニア国物語』に登場するナルニア国の王都「ケア・パラベル」に由来するとされています。

Laravelは、「2014年における最有望PHPフレームワークの1つ」として挙げられました。また、GitHubにおいて、PHPフレームワークの中で、最も多くのGithubStarを獲得しています。最近では、世界的に、最も注目されているフレームワークとされています。

 

主な機能

  • バンドル
  • Eloquent ORM
  • アプリケーションロジック
  • リバースルーティング
  • RESTfulリソースコントローラー
  • クラスのオートローディング
  • ビューコンポーザー
  • IoC (Inversion of Control)コンテナ
  • マイグレーション(移行)
  • ユニットテスト
  • 自動パジネーション(改ページ)
  • バリデーション

 

主な特徴

MVCモデル

LaravelのMVCのM(モデル)は、他のフレームワークのMVCとは異なり、必ずしもDBアクセスをする必要はなく、単なる数値計算クラスであっても構いません。

分かりやすく美しい構文

「.NET」開発者でもあった、Laravel開発者のTaylor氏は、コードが読みづらくなることを当然とは考えず、可読性が高いフレームワークを作成しました。

規約より設定を優先

モダンである一方で、「規約より設定を優先」の思想があります。

ライブラリ

ユーザDB管理「Sentry」など、コミュニティによるハイレベルなライブラリが豊富です。

学習が用意

無駄なものを省き必要最小限にシンプルにしながらも、全体的には分かりやすいコンセプトで統一されています。

新技術の取り込み

「Eloquent ORM」、「DIコンテナ」、「Redisサーバ利用」、「クラスのオートロード」、「コマンドでのコントローラ生成」など、先進的な技術を取り込み続けています。

Eloquent ORM

データベースオブジェクト間のリレーションシップに制約を適用する内部メソッドを提供するアクティブレコードを実装しています。シンプルにリレーション記述できます。

無名関数ルーティング

ルーティングを記述するroutes.phpファイルだけで定義できます。

強力なルーティングフィルター

ルートを実行する前後にフィルターを指定できます。

柔軟なオートローダー

多くのライブラリを取り込めます。

簡単なペジネーション

ORM/アクティブレコードと結びついているため、数行のコードで実現できます。

ビューコンポーサー

特定のビューを表示する直前に実行するコードを「ビューコンポーサー」として登録し、毎回ビュー表示に必要なコードをコントローラから分離できます。

 

まとめ

Laravelは、世界ではトップクラスで利用されている新しいフレームワークです。

今後、日本でも広く普及していくと予想されています。

 

Laravelを使ったオフショア開発は、こちらへ

About the author: matsumoto