我正在学习 Laravel
,对于我的第一个项目,我想创建我的作品集。然而,我要做的第一个任务就是让我感到困惑。
所以我创建了我的模板,layout.blade.php
和 home.blade.php
。这对我来说很有意义,但现在我该如何告诉 Laravel,或者我如何route
到 home.blade.php
?
我正在寻找解释,而不仅仅是代码。我正在努力学习。
最佳答案
实际上,MVC
应用程序中的view
只是应用程序的一部分,它仅用于表示逻辑,UI
,而没有' 无需应用程序的另一部分( Controller /功能)的帮助,直接调用/加载 View 。基本上,您向路由发出请求,该路由将控制权传递给 controller/function
,然后从那里显示/加载 view
。 So
它不是一个教程站点,也无法在这里解释 MVC
,您应该阅读它,对于 Laravel
,它是最好的地方了解其文档的基础知识,无论如何都通过示例进行了很好的解释。
如果是 Laravel
,你应该在你的 apps/routes.php 中创建一个
文件并显示其中一个的 controller/class
或 anonymous function
view
。只需按照给定的说明逐步操作即可。
使用类:
创建 route到您的 Home
Controller ,您应该将此代码添加到您的 app/routes.php
// This will call "showWelcome" method in your "HomeController" class
Route::any('/', array( 'as' => 'home', 'uses' => 'HomeController@showWelcome' ));
然后创建 HomeController
Controller /类(在您的 Controller 文件夹中创建一个文件并使用 HomeController.php
作为名称保存该文件)然后粘贴下面给出的代码
class HomeController extends BaseController {
public function showWelcome()
{
// whatever you do, do it here
// prepare some data to use in the view (optional)
$data['page_title'] = 'Home Page';
// finally load the view
return View::make('home', $data);
}
}
如果您的 home.blade.php
中有 {{ $title }}
,那么它将打印 Home Page
。因此,要使用 View ,您需要一个 controller
或一个 anonymous function
并从 Controller /函数加载 View 。
使用匿名函数:
此外,您可以使用匿名函数而不是 controller/class
直接从您的路线显示 view
,即
Route::any('/', function(){
// return View::make('home');
// or this
$data['page_title'] = 'Home Page'; // (optional)
return View::make('home', $data);
});
使用这种方法,每当您向主页发出请求时,Laravel
将调用在/作为路由的回调
中给出的匿名函数,并从那里显示您的 View .
确保在 subview (主页)中扩展主布局:
此外,请记住,您在 home.blade.php
文件的第一行有以下内容
@extends('layouts.layout')
它看起来很困惑,您可以将主布局 (layout.blade.php
) 重命名为 master.blade.php
并在您的 home 中使用以下内容。 blade.php
代替
@extends('layouts.master')
阅读文档/了解基础知识:
你应该阅读 Laravel's documentation正确地,(检查 templates 以了解 blade
模板)并阅读一些 MVC examples ,这也可以帮助您了解 MVC
框架的基础知识(您可以通过谷歌搜索找到更多信息)以及 SO 上关于 MVC
的一些好帖子.
关于php - laravel - 家庭路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335660/