ホームページ  >  記事  >  バックエンド開発  >  [laravel]Laravelフレームワークアーキテクチャ

[laravel]Laravelフレームワークアーキテクチャ

WBOY
WBOYオリジナル
2016-06-20 12:28:38780ブラウズ

Laravel は、ネットワーク サービスからデータベース管理、HTML 生成まですべてを処理できるため、「フルスタック」フレームワークと呼ばれます。垂直統合された Web 開発環境により、開発者はより優れたサービスを提供できます。経験。

開発者は、コマンドライン ツールを使用して Laravel プロジェクト環境を生成および管理できます。 Laravel には、Artisan と呼ばれる優れたコマンドライン ツールが付属しています。これは、開発プロセス中にいくつかの便利なコマンドを提供し、フレームワーク コードの生成やデータベース管理に使用できます。これは、強力な Symfony Console コンポーネントに基づいて開発されています。

Laravel の目標は、アプリケーションの機能を犠牲にすることなく、開発者にとって快適な開発プロセスを作成することです。幸せな開発者は最高のコードを作成します。この目的を達成するために、Ruby on Rails、ASP.NET MVC、Sinatra などの開発言語やツールに基づいたフレームワークも含め、多くのフレームワークの長所を Laravel に集めました。

Laravel は理解しやすく強力で、大規模で堅牢なアプリケーションを開発するための強力なツールを提供します。優れた IoC、データベース移行ツール、および緊密に統合された単体テストのサポートにより、あらゆるアプリケーションを構築することができます。

ディレクトリ構造

これは基本的にすべてのlaravelプロジェクトと同じディレクトリ構造であり、すべてのファイルが指定された場所にあります。ディレクトリ構造に同意することで、「laravel の方法」に従って作業していることを確認します。

ご覧のとおり、laravel プロジェクトの下には、app、bootstrap、public、vendor の 4 つのフォルダーがあります。これらの 4 つのフォルダーの下には、最初にストレスを感じることがありますか。フォルダーの内容が充実しているのがわかりますか?問題はありません。さまざまなフォルダーについて 1 つずつ学習していきます。

  • アプリには、サイトのコントローラー、モデル、ビュー、アセットが含まれています。これらは Web サイトを実行する主要なコードであり、ほとんどの時間をこのディレクトリで過ごすことになります。
  • bootstrap は、システムの起動時に必要なファイルを保存するために使用されます。これらのファイルは、index.php などのファイルによって呼び出されます。
  • bootstrap は、システムの起動時に必要なファイルを保存するために使用されます。これらのファイルは、index.php などのファイルによって呼び出されます。
  • public このフォルダーは、外部から参照できる Web サーバーの唯一のディレクトリです。このディレクトリには、laravel フレームワークのコア ブート ファイルindex.php が含まれています。このディレクトリは、CSS、JavaScript、画像などのパブリック静的リソースの保存にも使用できます。 app ディレクトリ
  • Model-View-Controller (MVC)

    laravel アプリケーションを構築する方法を詳しく見てみましょう。アプリ ディレクトリの下に、models、views、controllers という 3 つのサブディレクトリがあることに気づいたかもしれません。これは、Laravel がモデル ビュー コントローラー (MVC) アーキテクチャ パターンであり、グラフィカル ユーザー インターフェイス (GUI) に関連する入力および表示ロジックから「ビジネス ロジック」を分離していることを示しています。 Laravel Web アプリケーションでは、ビジネス ロジックは通常、データ モデル (ユーザー、ブログ投稿など) で構成され、GUI はブラウザー内の単なるページです。 MVC デザイン パターンは、Web 開発の分野で非常に人気があります。 MVC パターンの 3 つの要素:

    モデル

    ビュー

  • コントローラー
  • Laravel の応答プロセス
  • 典型的な laravel アプリケーションは、上記の MVC
  • laravel アプリケーションにアクセスすると、ブラウザーはリクエストを送信し、そのリクエストは Web サーバーによって受信され、laravel のルーティング エンジンに渡されます。 laravelルーターはリクエストを受信すると、設定に従って対応するコントローラークラスのメソッドにリダイレクトします。

    その後、コントローラー クラスが引き継ぎます。場合によっては、コントローラーはすぐにビューをレンダリングします。これは、HTML に変換されてブラウザーに送り返されるテンプレートです。より一般的には、動的 Web サイトでは、コントローラーがモデルと対話し、データベースと通信します。モデルを呼び出した後、コントローラーは最終ビュー (HTML、CSS、および画像) をレンダリングし、完全な Web ページをユーザーのブラウザーに返します。

    Laravel は、モデル、ビュー、コントローラーを完全に分離し、別のディレクトリに別個のファイルとして保存する必要があると主張しています。ここでlaravelのディレクトリ構造が登場します。

    MVC のようなデザイン パターンは、開発者の作業を容易にするために作成されました。この点は、パターンを使用しない PHP よりも Laravel の方が優れている点です。今、この議論が抽象的だと感じても、心配しないでください。 Laravel を使い始めると、自分がデザインパターンで作業していることにさえ気づかないでしょう。しばらくすると自然になります。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。