Laravel 视图是什么
视图包含应用程序所需的HTML代码,同时它也是Laravel中一种将控制器逻辑和领域逻辑与呈现逻辑分离的方法。视图文件位于资源文件夹中,并且路径为resources/views。
让我们来看一下视图的简单示例。
假设我们想要创建联系人的视图。
步骤1: 首先,在 resources/views 目录中创建名为 Contact.php 的视图文件。
Contact.php
<html>
<body>
<h1>Name of the Contact is : <?php echo $name; ?></h1>
</body>
</html>
步骤2: 在 web.php 中加入以下代码。
Route::get('/contact', function(){
return view('Contact',['name'=>'John']);
});
在上面的代码中, view() 方法包含两个参数。第一个参数是包含视图的文件名,第二个参数是传递给给定文件的数组。在数组中,我们将name变量传递给 Contact.php 文件。
步骤3: 在web浏览器中输入URL http://localhost/laravelproject/public/contact ,然后输出结果如下:
让我们看另一个视图的例子。
在这个例子中,我们在Controller类中使用view()方法。
步骤1: 首先,我需要创建一个控制器。假设我创建了一个名为 ‘PostController’的控制器,然后将下面的代码添加到一个名为 ‘PostController.php’的文件中。
public function display(){
return view('about');
}
步骤2: 现在,我们创建一个名为 about.php 的文件,在该文件中,我们添加HTML代码。
<html>
<body>
<h1>About Us</h1>
</body>
</html>
步骤3: 最后一步是在 web.php 文件中添加路由。
Route::get('/post','PostController@display');
步骤4: 在网页浏览器中输入URL http://localhost/laravelproject/public/post 。
嵌套视图
视图也可以嵌套在子目录resources/views中。
让我们通过一个示例来理解嵌套视图。
假设我们想了解管理员的详细信息。管理员详细信息的视图位于 resources/views/admin/details.blade.php 目录中。
步骤1: 首先,在admin文件夹中创建 details.blade.php 文件,并将以下代码添加到 details.blade.php 文件中:
<html>
<body>
<h1>Admin Details</h1>
</body>
</html>
步骤2: 现在,我们需要在 P ostController.php 文件中添加 display() 函数,该函数返回视图 ‘ admin.details ‘。
public function display(){
return view('admin.details');
}
步骤3: 最后,我们将在 web.php 文件中添加路由。
Route::get('/details', 'PostController@display');
步骤4: 要查看输出结果,请在网页浏览器中输入URL ‘ http://localhost/laravelproject/public/details ‘。
确定视图是否存在
Laravel还允许您使用View门面确定视图是否存在。我们可以使用exists()方法来检查视图是否存在,如果存在,则返回true。
假设我们想要检查admin.details视图是否存在,那么我们可以在PostController.php文件中使用以下代码:
use Illuminate\Support\Facades\View;
public function display()
{
if (View::exists('admin.details')) {
echo "the view of the admin.details exists";
}
else
echo "view does not exist";
}
在上面的代码中, View::exists(‘admin.details’) 方法用于确定 admin.details 是否存在。如果存在,则执行 ‘ if ‘ 语句;否则,执行 ‘ else ‘ 语句。
输出
在网页浏览器中输入网址 ‘ http://localhost/laravelproject/public/details ,然后输出为: