【问题标题】:Laravel: Returning a view from a controllerLaravel:从控制器返回视图
【发布时间】:2015-10-15 06:34:46
【问题描述】:

我正在尝试学习如何使用 Laravel 5,但遇到了一个问题。到目前为止,我已经创建了以下代码:

app/HTTP/routes.php 下:

<?php

Route::get('/', 'MyController@home');

app\Http\Controllers下创建了我自己的MyController.php文件,并将以下代码添加到控制器中:

<?php

namespace App\Http\Controllers;

use Illuminate\Routing\Controller as BaseController;

class MyController extends BaseController
{
    public function home()
    {
        $name = "John Doe";
        return View::make("index")->with("name", $name);
    }
}


当我运行应用程序时,我收到错误:

FatalErrorException in MyController.php line 12:
Class 'App\Http\Controllers\View' not found


我做错了什么?

【问题讨论】:

    标签: php laravel xampp


    【解决方案1】:

    改变

    return View::make("index")->with("name", $name);
    

    return \View::make("index")->with("name", $name);
    

    甚至更好

    return view("index",compact('name'));
    

    更新

    View 是一个 Facade,一个包装类,view() 是一个辅助函数,用于检索 view 实例。

    【讨论】:

    • 工作正常。我会在 9 分钟后接受你的回答(现在不允许接受)。又一个小问题,view 和 View::make 有什么区别
    • View::make() 来自 Laravel 4,这在 5 中更改为 view() 辅助函数,因为不鼓励使用外观,尽管您现在仍然可以使用它们。如果它们还没有被弃用,我预计它们会在某个时候被弃用。
    • @n0t_a_nUmb3R- 我已经用相关链接更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2016-11-18
    • 2021-03-02
    • 2013-01-08
    • 1970-01-01
    • 2017-02-13
    • 2020-02-18
    相关资源
    最近更新 更多