我无法在 Laravel 中创建视图

I can't create a view in Laravel

我是 Laravel 的新手,我正在尝试在 Acelle(基于 Laravel 的应用程序)中创建视图。我看了很多教程,但我一直没有遇到这个问题。

我使用以下代码在 /resources/views 文件夹上创建了视图 "lol.blade.php":

HELLO (just hello)

路线:

Route::get('lol', function()
{
    if (view()->exists('lol')) {
        //return 'helloooo'; <--- it works
        return view('lol');
    } else {
        return 'not exists';    
    }
});

代码知道视图存在,但 url (localhost/acelle/public/lol) 打印此消息:

"Whoops, looks like something went wrong."

我无法通过教程解决问题。我遵循了 Laravel 中有关创建视图的所有步骤,但我不知道为什么视图会打印该消息。

请帮忙!

PS: Laravel 版本: 5.2.45

编辑: 在控制台 [network] 中显示 Error 500laravel.log 打印 59 行。但第一行显示: [2017-07-14 14:08:20] production.ERROR: ErrorException: Undefined index:controller in /home/acelle/public_html/acelle/app/Providers/AppServiceProv‌ ider.php:20

您在评论中发布了此内容:

app('view')->composer('*', function ($view) {
    $action = app('request')->route()->getAction();
    $controller = class_basename($action['controller']);
    list($controller, $action) = explode('@', $controller);
    $view->with(compact('controller', 'action'));
}); 

你的问题是 this 路由使用 closure,并且有 no 控制器:

Route::get('lol', function() {});

因此,$action['controller'] 不存在并因此引发警告。在执行使用控制器变量的其余代码之前,您需要检查 isset($action['controller'])

已经解决!!

解决方案:

创建控制器:MiwebController.php

<?
namespace Acelle\Http\Controllers;

class MiwebController extends Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->middleware('auth');
    }

    public function index()
    {
        return view('lol');
    }
}
?>

routes.php:

Route::get('lol', 'MiwebController@index');

它工作正常。谢谢!