当前位置: 首页 > 文档资料 > Laravel 入门教程 >

Views

优质
小牛编辑
125浏览
2023-12-01

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

例子 (Example)

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

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

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

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

app/Http/routes.php

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

Step 3 - 访问以下URL以查看视图的输出。

http://localhost:8000/test

Step 4 - 输出将如下图所示。

理解视图

将数据传递给视图

在构建应用程序时,可能需要将数据传递给视图。 传递数组以查看辅助函数。 传递数组后,我们可以使用该键在HTML文件中获取该键的值。

例子 (Example)

请观察以下示例以了解有关将数据传递到视图的更多信息 -

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

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

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

app/Http/routes.php

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

Step 3 - 密钥名称的值将传递给test.php文件,$ name将替换为该值。

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

http://localhost:8000/test

Step 5 - 输出将如下图所示。

维拉特甘地

与所有视图共享数据

我们已经看到了如何将数据传递给视图,但有时需要将数据传递给所有视图。 Laravel让这更简单。 有一个名为share()的方法可用于此目的。 share()方法将使用两个参数,key和value。 通常,可以从服务提供者的引导方法调用share()方法。 我们可以使用任何服务提供商, AppServiceProvider或我们自己的服务提供商。

例子 (Example)

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

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

app/Http/routes.php

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

Step 2 - 使用相同的代码创建两个视图文件 - test.phptest2.php 。 这些是将共享数据的两个文件。 在这两个文件中复制以下代码。 resources/views/test.php & resources/views/test2.php

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

Step 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(){
      //
   }
}

Step 4 - Visit以下网址。

http://localhost:8000/test
http://localhost:8000/test2

Step 5 - 输出将如下图所示。

维拉特甘地