Laravel - 视图


在MVC框架中,字母“V”代表Views。它将应用程序逻辑和表示逻辑分开。视图存储在resources/views目录中。通常,视图包含将由应用程序提供服务的 HTML。

例子

观察以下示例以了解有关视图的更多信息 -

步骤 1 - 复制以下代码并将其保存在resources/views/test.php

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

步骤 2 - 在app/Http/routes.php文件中添加以下行以设置上述视图的路由。

应用程序/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文件中添加以下行以设置上述视图的路由。

应用程序/Http/routes.php

Route::get('/test', function() {
   return view('test',[‘name’=>’Virat Gandhi’]);
});

步骤 3 - 键名称的值将传递到 test.php 文件,$name 将被该值替换。

步骤 4 - 访问以下 URL 以查看视图的输出。

http://localhost:8000/test

步骤 5 - 输出将如下图所示。

维拉·甘地

与所有视图共享数据

我们已经了解了如何将数据传递给视图,但有时,需要将数据传递给所有视图。Laravel 使这变得更简单。有一个名为share()的方法可以用于此目的。share ()方法将采用两个参数:键和值。通常可以从服务提供者的 boot 方法中调用share()方法。我们可以使用任何服务提供商、AppServiceProvider或我们自己的服务提供商。

例子

观察以下示例以了解有关与所有视图共享数据的更多信息 -

步骤 1 - 在app/Http/routes.php文件中添加以下行。

应用程序/Http/routes.php

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

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

步骤 2 -使用相同的代码创建两个视图文件 - test.phptest2.php 。这是将共享数据的两个文件。将以下代码复制到两个文件中。资源/views/test.php 和资源/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 - 输出将如下图所示。

维拉·甘地