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 − 键 name 的值将传递给 test.php 文件,并且 $name 将由该值替换。
步骤 4 − 访问以下 URL 以查看视图的输出。
http://localhost:8000/test
步骤 5 − 输出将如下图所示显示。
与所有视图共享数据
我们已经了解了如何将数据传递给视图,但有时需要将数据传递给所有视图。Laravel 使这变得更简单。有一个名为 share() 的方法可用于此目的。 share() 方法将接受两个参数,即 key 和 value。通常,可以从服务提供者的 boot 方法调用 share() 方法。我们可以使用任何服务提供者、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.php 和 test2.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。
http://localhost:8000/test http://localhost:8000/test2
步骤 5 − 输出将如下图所示。