我是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
答案 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');
工作正常。谢谢!