|
Laravel は、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークである。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発した。 PHPフレームワークのに2013年12月の人気調査によると、Laravelは2014年における最も有望なPHPフレームワークの1つとして挙げられた。 LaravelはPHP 5.3以上を対象とする新しいプロジェクトである。 == 特徴 == Laravelの主要な設計ポイントとして挙げられる特徴は下記の通りである〔Laravelドキュメント 〕。 *「バンドル」は、Laravelのモジュールパッキングシステムである。 Laravelバンドルリポジトリーは、アプリケーションへ簡単に機能を付け加えられるように、予め用意されている。バンドルリポジトリーからbundlesディレクトリーにダウンロードしたり、"Artisan"コマンドラインツールを使い、自動的にインストールすることもできる。 *「Eloquent ORM」は、データベースオブジェクト間のリレーションシップに制約を適用する内部メソッド(eagerローディング等)を提供するアクティブレコードを実装している。 EloquentはLaravelのクエリービルダーである「Fluent」のメソッドを完全にサポートしている。 *「アプリケーションロジック」をコントローラーでアプリケーションに実装することもできる。また、Sinatraフレームワークと似たようなシンタックスを使い、ルートの定義を直接記述することもできる。 *「リバースルーティング」で名前付きのルートにリンクを作成できる。 リンクを作成するときにルートの名前を使えば、Laravelは自動的に正しいURIを挿入する。 これを使うことにより、後ほどルートを変更しても、Laravelがサイト中のリンク全部を適切に更新する。 *「RESTfulリソースコントローラー」はGETとPOSTに応答するロジックを分ける別の方法を提供する。例えば、ログインにおいて、コントローラーのget_login()アクションでフォームを担当させ、コントローラーのpost_login()アクションで、送信されたフォームを受け取り、バリデーションし、エラーメッセージと一緒にログインフォームにリダイレクトさせたり、各ユーザーのダッシュボードにリダイレクトさせたりすることもできる。 *「クラスのオートローディング」はオートローディングの環境設定を保つ手間を省き、使用していない不要なコンポーネントまでロードしてしまうことを防ぐことが出来る。 *「ビューコンポーザー」はビューがロードされた時点で実行されるコードブロックである。例として、ブログのサイドナビに見られる、投稿をランダムにリスト表示するものが挙げられる。コンポーザーは必要のあるブログポストを全てロードするロジックで構成してくれる為、ビューをロードすれば、表示する準備は全て予め済んでいる状態となる。これにより、メソッドのページコンテンツに関連する、ビューのモジュールで使用するデータのロードを、全てのコントローラー側で確実に行わなくてはならない手間を省くことができる。 *「IoC (Inversion of Control)コンテナ」は新しいオブジェクトを生成するメソッドを提供し、随意にインスタンスを生成したり、シングルトンでの使用をできるようにするものである。IoCにより、外部ライブラリーの使用準備を行う必要性を大幅に減らしてくれる。また、きっちりと決まった柔軟性のないファイル構造に係わる必要はなく、IoCを使用したオブジェクトにはコードのどこからでもアクセスできる。 *「マイグレーション(移行)」はスキーマのバージョンコントロールで、Laravelに直接統合されている。生成も実行も"Artisan"コマンドラインユーティリティーを使用して行うことが出来る。例えば、チームによる開発中に、他のメンバーがスキーマを変更したら、リポジトリーからコピーをローカル環境に置き、マイグレーションを実行すれば、自分のデータベースもアップデートされる。 *「ユニットテスト」は、Laravelは重要視している。新しい変更が予期せず他の部分を壊していないか確認する為に、何百ものユニットテストを行なっている。ユーザー自身も"Artisan"コマンドユーティリティーを使ってテストを実行できる。 *「自動パジネーション(改ページ)」は、"paginate"を呼び出し、ビュー内のページリンクを出力箇所を指定すれば、自動的に残りのページがパジネーションされる。パジネーションシステムは、簡単に手動/自動の切り替え等の設定・変更ができるように設計されている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Laravel」の詳細全文を読む スポンサード リンク
|