我无法在 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 500。 laravel.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');
它工作正常。谢谢!
我是 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 500。 laravel.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');
它工作正常。谢谢!