Code前端首页关于Code前端联系我们

Laravel 教程:视图(MVC 框架 v)

terry 2年前 (2023-09-25) 阅读数 47 #后端开发

理解视图

在 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步 - 输出结果如下所示。
Laravel教程:视图(MVC框架之v) 将数据传递到视图

当您构建应用程序时,您可能需要将数据传递到视图。将数组传递给视图函数。传递一个数组后,我们可以使用它的键来检索 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’=>’Yiibai’]);
});
第 3 步 - 将键名称值传递到 test.php 文件,并将 $name 替换为该值。步骤 4 - 访问以下 URL 以查看视图的输出。

http://localhost:8000/test 步骤 5 - 运行结果如下所示。
Laravel教程:视图(MVC框架之v)在所有视图之间共享数据

我们已经了解了如何跨视图传递数据,但有时有必要在所有视图之间传递数据。 Laravel 让这变得更容易。有一个名为“share()”的方法可以用于此目的。 share() 方法有两个参数:键和值。通常,可以从服务提供者的启动方法中调用 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>

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', 'Yiibai');
   }

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

   public function register(){
      //
   }
}
第 4 步 - 访问以下 URL。

http://localhost:8000/test

http://localhost:8000/test2 步骤5 - 输出结果如下。
Laravel教程:视图(MVC框架之v)Blade 模板

Blade 是 Laravel 的一个简单而强大的模板引擎。 Blade 是 Laravel 的轻量级模板语言,其语法非常简单易学。 Blade 模板包含一个扩展 -blade.php,并存储在 resources/views 文件夹中。

Blade 还支持所有 PHP 的主要构造函数,创建循环和条件 -@for、@foreach、@while、@if 和 @ elseif,您避免在模板中的任何位置使用

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门