我无法在Laravel

时间:2017-07-14 13:47:06

标签: php laravel-5 views

我是Laravel的新手,我正在尝试在Acelle中创建一个View(基于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)打印此消息:

“糟糕,看起来出了问题。”

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

请帮忙!

PS:Laravel版本:5.2.45

修改: 在控制台[网络]中显示错误500 。和 laravel.log 打印59行。但第一行显示:     [2017-07-14 14:08:20] production.ERROR:ErrorException:未定义的索引:/ home / acelle / public_html / acelle / app / Providers / AppServiceProv中的控制器ider.php:20

2 个答案:

答案 0 :(得分:0)

你在评论中发布了这个:

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

您的问题是路由使用闭包,并且没有控制器:

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

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

答案 1 :(得分:0)

已经解决了!!

<强>解

创建一个控制器: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');

工作正常。谢谢!