3

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

所以我创建了我的模板,layout.blade.php并且home.blade.php. 这对我来说很有意义,但现在我该如何告诉 Laravel,或者我该怎么routehome.blade.php

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

4

2 回答 2

7

实际上,应用程序viewMVC的应用程序只是应用程序的一部分,它仅用于表示逻辑,UI并且在没有应用程序另一部分(控制器/函数)的帮助的情况下,它不会直接调用/加载视图。基本上,您向路由发出请求,并且该路由将控制权传递给 acontroller/function并从那里显示/加载view. So它不是一个教程网站,也无法在MVC这里解释,您应该阅读它,因为Laravel它是了解其文档基础知识的最佳场所,无论如何都通过示例进行了很好的解释。

如果是,您应该在文件中Laravel创建 acontroller/class或 an并显示其中之一。只需按照给定的说明一步一步地操作。anonymous functionapps/routes.phpview

使用类:

要创建到您的控制器的路由,您应该将此代码添加到您的Homeapp/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。因此,要使用视图,您需要 acontroller或 ananonymous 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);
});

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

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

另外,请记住,您在home.blade.php文件的第一行有以下内容

@extends('layouts.layout')

看起来很混乱,您可以将主布局 ( layout.blade.php) 重命名为并在您的替代master.blade.php中使用以下home.blade.php

@extends('layouts.master')

阅读文档/了解基础知识:

您应该正确阅读Laravel 的文档(检查模板以了解blade模板)并阅读一些MVC 示例,这可能有助于您了解框架的基础知识(您可以通过谷歌搜索找到更多信息)和一些关于SOMVC的好帖子。MVC

于 2013-10-12T23:09:10.477 回答
1

检查它在 Laravel 中的路由

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

在您的控制器文件中创建所需的功能并创建一个模板文件,例如

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));
    }

}

你需要创建视图文件views/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

于 2013-10-12T15:09:51.027 回答