Laravel-views

提供:Dev Guides
移動先:案内検索

Laravel-ビュー

MVCフレームワークでは、文字「“ V” 」は「ビュー」を表します。 アプリケーションロジックとプレゼンテーションロジックを分離します。 ビューは *resources/views ディレクトリに保存されます。 通常、ビューには、アプリケーションによって提供されるHTMLが含まれます。

ビューについての詳細を理解するには、次の例をご覧ください-

ステップ1 *-次のコードをコピーして、 *resources/views/test.php に保存します

<html>
   <body>
      <h1>Hello, World</h1>
   </body>
</html>

ステップ2 *- *app/Http/routes.php ファイルに次の行を追加して、上記のビューのルートを設定します。

*app/Http/routes.php*
Route::get('/test', function() {
   return view('test');
});
  • ステップ3 *-次のURLにアクセスして、ビューの出力を確認します。
http://localhost:8000/test
  • ステップ4 *-出力は次の画像のように表示されます。

ビューの理解

ビューにデータを渡す

アプリケーションの構築中に、ビューにデータを渡す必要がある場合があります。 ヘルパー関数を表示する配列を渡します。 配列を渡した後、キーを使用して、HTMLファイルでそのキーの値を取得できます。

ビューへのデータの受け渡しについてさらに理解するには、次の例をご覧ください-

ステップ1 *-次のコードをコピーして、 *resources/views/test.php に保存します

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

ステップ2 *- *app/Http/routes.php ファイルに次の行を追加して、上記のビューのルートを設定します。

*app/Http/routes.php*
Route::get('/test', function() {
   return view('test',[‘name’=>’Virat Gandhi’]);
});
  • ステップ3 *-キー名の値はtest.phpファイルに渡され、$ nameはその値に置き換えられます。
  • ステップ4 *-次のURLにアクセスして、ビューの出力を確認します。
http://localhost:8000/test
  • ステップ5 *-出力は次の画像のように表示されます。

Virat Gandhi

すべてのビューでデータを共有する

ビューにデータを渡す方法を見てきましたが、すべてのビューにデータを渡す必要がある場合があります。 Laravelはこれを簡単にします。 この目的に使用できる* share()というメソッドがあります。 * share()*メソッドは、キーと値の2つの引数を取ります。 通常、 share()メソッドは、サービスプロバイダーのbootメソッドから呼び出すことができます。 任意のサービスプロバイダー、 *AppServiceProvider または独自のサービスプロバイダーを使用できます。

すべてのビューでデータを共有する方法について詳しく理解するには、次の例をご覧ください-

ステップ1 *- *app/Http/routes.php ファイルに次の行を追加します。

*app/Http/routes.php*
Route::get('/test', function() {
   return view('test');
});

Route::get('/test2', function() {
   return view('test2');
});

ステップ2 *-2つのビューファイルを作成します。同じコードで *test.phptest2.php を作成します。 これらは、データを共有する2つのファイルです。 両方のファイルに次のコードをコピーします。 resources/views/test.php&resources/views/test2.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

ステップ3 *-以下に示すように、ファイル *app/Providers/AppServiceProvider.php のブートメソッドのコードを変更します。 (ここではshareメソッドを使用しており、渡したデータはすべてのビューで共有されます。) app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {

  /**
 *Bootstrap any application services.
     *
 *@return void
  */

   public function boot() {
      view()->share('name', 'Virat Gandhi');
   }

  /**
 *Register any application services.
     *
 *@return void
  */

   public function register() {
     //
   }
}
  • ステップ4 *-*次のURLにアクセスしてください。
http://localhost:8000/test
http://localhost:8000/test2
  • ステップ5 *-出力は次の画像のように表示されます。

Virat Gandhi