我正在学习Laravel,对于我的第一个项目,我想创建我的投资组合.但是,我要做的第一项任务是让我困惑.
所以我创建了我的模板,layout.blade.php并且home.blade.php.这对我来说很有意义,但是现在我如何告诉Laravel,或者我怎么route给home.blade.php?
我正在寻找解释,而不仅仅是代码.我正在尝试学习.
实际上,一个view在MVC应用程序仅仅是一个应用程序的一部分,它只是呈现的逻辑,UI和一个不调用/直接加载一个视图,而无需应用程序的另一部分(控制器/功能)的帮助.基本上,您向路线发出请求,并且该路由将控制权传递给controller/function您显示/加载的路径view.So它不是一个教程网站,也不可能在MVC这里解释,你应该阅读它,因为Laravel它是理解它的文档的基础知识的最佳位置,反正用例子很好地解释.
如果是Laravel,您应该在文件中创建一个controller/class或一个anonymous function,apps/routes.php并显示view其中一个.只需按照给定的说明一步一步.
要创建到Controller 的路由,您Home应该在您的app/routes.php
// This will call "showWelcome" method in your "HomeController" class
Route::any('/', array( 'as' => 'home', 'uses' => 'HomeController@showWelcome' ));
Run Code Online (Sandbox Code Playgroud)
然后创建HomeController控制器/类(在您的控制器文件夹中创建一个文件并使用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);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你有{{ $title }},home.blade.php那么它将打印Home Page.因此,要使用视图,您需要a controller或an anonymous function并从控制器/函数加载视图.
此外,您可以使用匿名函数而不是a controller/class来view直接显示您的路线,即
Route::any('/', function(){
// return View::make('home');
// or this
$data['page_title'] = 'Home Page'; // (optional)
return View::make('home', $data);
});
Run Code Online (Sandbox Code Playgroud)
使用这种方法,无论何时向主页发出请求,Laravel都会调用/作为路由提供的匿名函数,callback然后从那里显示您的视图.
另外,请记住,您在home.blade.php文件的第一行有以下内容
@extends('layouts.layout')
Run Code Online (Sandbox Code Playgroud)
它看起来令人困惑,你可以重命名主要布局(layout.blade.php),以master.blade.php和使用您的以下home.blade.php代替
@extends('layouts.master')
Run Code Online (Sandbox Code Playgroud)
你应该阅读Laravel的文档正常,(检查模板了解blade模板),也看了一些MVC的例子,可以帮助你太懂的的基本MVC框架(你会发现谷歌搜索通过更多)和一些很好的职位有关MVC的SO.
| 归档时间: |
|
| 查看次数: |
17239 次 |
| 最近记录: |