laravel - 回家路线

时间:2013-10-12 15:07:05

标签: php laravel

我正在学习Laravel,而对于我的第一个项目,我想创建我的投资组合。但是,我要做的第一项任务是让我困惑。

所以我创建了我的模板,layout.blade.phphome.blade.php。这对我有意义,但现在我如何告诉Laravel,或者我如何routehome.blade.php

我正在寻找解释,而不仅仅是代码。我正在努力学习。

2 个答案:

答案 0 :(得分:6)

实际上,view应用程序中的MVC只是应用程序的一部分,它仅用于表示逻辑,UI并且不会直接调用/加载视图应用程序的另一部分(控制器/功能)的帮助。基本上,您向路线发出请求,并且该路线将控制权传递给controller/function,然后从那里显示/加载viewSo它不是教程网站,也不可能在这里解释MVC,你应该阅读它,对于Laravel,它是了解它的文档基础知识的最佳位置,无论如何,用例子解释。

如果是Laravel,您应在controller/class文件中创建anonymous functionapps/routes.php,然后从其中一个文件中显示view。请一步一步地按照给定的说明进行操作。

使用类:

要为Home控制器创建route,您应该在app/routes.php

中添加此代码
// This will call "showWelcome" method in your "HomeController" class
Route::any('/', array( 'as' => 'home', 'uses' => 'HomeController@showWelcome' ));

然后创建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);
    }
}

如果{{ $title }}中有home.blade.php,则会打印Home Page。因此,要使用视图,您需要controlleranonymous function并从控制器/函数加载视图。

使用匿名函数:

此外,您可以使用匿名函数代替controller/class来直接显示您的路线view,即

Route::any('/', function(){
    // return View::make('home'); 
    // or this
    $data['page_title'] = 'Home Page'; // (optional)
    return View::make('home', $data);
});

使用这种方法,每当您向主页发出请求时,Laravel都会调用/作为路由callback中给出的匿名函数,并从那里显示您的视图。

确保在子视图(home)中扩展主/主布局:

另外,请记住,您在home.blade.php文件

的第一行有关注
@extends('layouts.layout')

看起来很混乱,您可以将主要布局(layout.blade.php)重命名为master.blade.php,然后在home.blade.php中使用以下内容

@extends('layouts.master')

阅读doc / understand basics:

您应该正确阅读Laravel's documentation,(查看templates以了解blade模板)并阅读一些MVC examples,这可能会帮助您理解SO的基础知识{1}}框架(您可以通过Google搜索找到更多内容)以及{{3}}上关于MVC的一些好帖子。

答案 1 :(得分:1)

检查routing in Laravel

您需要使用路径文件和控制器

在Controller文件中创建所需的功能并创建模板文件,例如

class UserController extends BaseController {

    /**
     * Show the profile for the given user.
     */
    public function showProfile($id)
    {
        $user = User::find($id);

        return View::make('user.profile', array('user' => $user));
    }

}

您需要创建视图文件视图/ user / profile.blade.php

View::make('user.profile', array('user' => $user)) == views/user/profile.blade.php

您应该阅读http://laravel.com/docs/responses以及此http://laravel.com/docs/quick#creating-a-view