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 以查看视图的输出。

https://127.0.0.1:8000/test

步骤 4 - 输出将如以下图像所示。

Understanding Views

向视图传递数据

在构建应用程序时,可能需要向视图传递数据。将数组传递给视图辅助函数。传递数组后,我们可以使用键在 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 以查看视图的输出。

https://127.0.0.1:8000/test

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

Virat Gandhi

与所有视图共享数据

我们已经了解了如何将数据传递给视图,但有时需要将数据传递给所有视图。Laravel 使这变得更简单。有一种称为 share() 的方法可用于此目的。share() 方法将采用两个参数,键和值。通常,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 - 创建两个视图文件 — test.phptest2.php,代码相同。这两个文件将共享数据。将以下代码复制到这两个文件中。resources/views/test.php & resources/views/test2.php

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

步骤 3 - 更改 app/Providers/AppServiceProvider.php 文件中 boot 方法的代码,如下所示。(在这里,我们使用了 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。

https://127.0.0.1:8000/test
https://127.0.0.1:8000/test2

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

Virat Gandhi
广告