php - laravel - 家庭路线

标签 php laravel

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

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

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

最佳答案

实际上,MVC 应用程序中的view 只是应用程序的一部分,它仅用于表示逻辑,UI,而没有' 无需应用程序的另一部分( Controller /功能)的帮助,直接调用/加载 View 。基本上,您向路由发出请求,该路由将控制权传递给 controller/function,然后从那里显示/加载 viewSo 它不是一个教程站点,也无法在这里解释 MVC,您应该阅读它,对于 Laravel,它是最好的地方了解其文档的基础知识,无论如何都通过示例进行了很好的解释。

如果是 Laravel,你应该在你的 apps/routes.php 中创建一个 controller/classanonymous 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/

相关文章:

php - 由cron执行时处理php脚本错误

php - 通过 PhpMailer 异步发送电子邮件

php - 将对象的对象转换为对象数组(PHP、Laravel)

laravel - Heroku 和 Laravel 护照

php - 使用 sqlsrv 将 php 7.2 连接到 MS SQL

PHP/SQL - 显示每个查询的特定行数

php - 检查是否存在 "run-time"多维数组键

php - 请求-> 除了在laravel 5 中给我一个数组而不是一个请求对象

php - 删除 Laravel 集合对象中的最后两行

html - 如何使用 bootstrap 在 Laravel 6.0 中将按钮并排放置?我试过了,但还是一上一下