2011 年、Taylor Otwell は、新しく現代的なアプローチを含むフレームワークとして Laravel を皆に紹介しました。 Laravel はもともと MVC アーキテクチャ向けに設計されており、イベント処理やユーザー認証などのさまざまなニーズを満たすことができます。さらに、モジュール化された拡張可能なコードを管理するための管理データベースを利用したパッケージ マネージャーも備えています。
Laravel は、そのシンプルさと優雅さで広く注目を集めており、専門家でも初心者でも、PHP プロジェクトを開発するときにすぐに Laravel を思い出すでしょう。この記事では、Laravel が最も成功した PHP フレームワークになった理由について説明します。
モジュール性と拡張性
Laravel はコードのモジュール性とスケーラビリティに重点を置いています。追加したいファイルはすべて、5500 を超えるパッケージを含む Packalyst ディレクトリで見つけることができます。 Laravel の目標は、必要なファイルを見つけられるようにすることです。
マイクロサービスとプログラミングインターフェイス
Lumen は、合理化に焦点を当てた、laravel から派生したマイクロフレームワークです。高性能プログラミング インターフェイスにより、マイクロ プロジェクトをより簡単かつ迅速に開発できます。 Lumen は、laravel のすべての重要な機能を最小限の構成で統合します。コードを laravel プロジェクトにコピーすることで、完全なフレームワークを移行できます。
1 2 3 4 5 6 7 8 9 10 11 |
|
HTTPパス
Laravel には、Ruby on Rails に似た高速で効率的なルーティング システムがあります。これにより、ユーザーはブラウザにパスを入力することでアプリケーションの各部分を関連付けることができます。
1 2 3 4 5 |
|
HTTPミドルウェア
アプリケーションはミドルウェアによって保護できます - ミドルウェアはサーバー上の HTTP リクエストの分析とフィルタリングを処理します。ミドルウェアをインストールして登録ユーザーを認証し、クロスサイト スクリプティング (XSS) やその他のセキュリティ条件などの問題を回避できます。
1 2 3 4 5 6 7 8 9 10 11 |
|
キャッシング
アプリケーションは堅牢なキャッシュ システムを調整することで、アプリケーションの読み込みを高速化し、ユーザーに最高のエクスペリエンスを提供できます。
1 2 3 4 5 |
|
認証
安全は最も重要です。 Laravelにはローカルユーザー認証が付属しており、「記憶」オプションを使用してユーザーを記憶できます。また、ユーザーがアクティブかどうかの表示など、いくつかの追加パラメータを設定することもできます。
1 2 3 4 5 |
|
型統合
Laravel Cashier は、支払いシステムを開発するために必要なすべてのニーズを満たすことができます。これに加えて、ユーザー認証システムの同期と統合も行います。そのため、課金システムを開発に統合することについて心配する必要はもうありません。
1 2 3 |
|
タスク自動化
Elixir は、Gulp を使用してタスクを定義できるようにする Laravel プログラム インターフェイスです。Elixir を使用して、CSS と JavaScript を合理化できるプリプロセッサを定義できます。
1 2 3 4 5 |
|
暗号化
安全なアプリケーションはデータを暗号化できる必要があります。 Laravel を使用すると、OpenSSL セキュリティ暗号化アルゴリズム AES-256-CBC を有効にして、すべてのニーズを満たすことができます。さらに、すべての暗号化された値は、暗号化された情報が変更されたかどうかを検出する検証コードによって署名されます。
1 2 3 4 5 6 7 8 9 10 11 |
|
イベント処理
イベントはアプリ内で非常に迅速に定義、記録、リッスンされます。 EventServiceProvider イベントの listen には、アプリケーションに記録されたすべてのイベントのリストが含まれています。
1 2 3 4 5 6 7 8 9 |
|
ページネーション
Laravel でのページネーションは、ユーザーのブラウザの現在のページに基づいて一連のリンクを生成できるため、非常に簡単です。
1 2 3 4 5 6 7 |
|
オブジェクト関係図ORM)
Laravel にはデータベースを処理するレイヤーが含まれており、そのオブジェクト関係グラフは Eloquent と呼ばれます。さらに、このオブジェクト関係図は PostgreSQL にも当てはまります。
1 2 3 4 5 6 7 |
|
単体テスト
単体テストの開発は時間のかかる作業ですが、アプリケーションが適切に動作し続けることを保証するための鍵となります。 PHPUnit を使用して、Laravel で単体テストを実行できます。
1 2 3 4 5 6 7 8 9 |
|
やることリスト
Laravel は、複雑で時間のかかるプロセスを処理するために、バックグラウンドで ToDo リストを使用するオプションを提供します。これにより、ユーザーによる継続的なナビゲーションを必要とせずに、特定のプロセスを非同期で処理できるようになります。
1 |
|