我收到类似 Class 的错误App\Http\Controllers\admin\Auth
登录时在 Laravel 5 中找不到。
路线.php
Route::group(array('prefix'=>'admin'),function(){
Route::get('login', 'admin\AdminHomeController@showLogin');
Route::post('check','admin\AdminHomeController@checkLogin');
});
AdminHomeController.php
<?php namespace App\Http\Controllers\admin;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class AdminHomeController extends Controller {
//
public function showLogin()
{
return view('admin.login');
}
public function checkLogin(Request $request)
{
$data=array(
'username'=>$request->get('username'),
'password'=>$request->get('password')
);
if(Auth::attempt($data))
{
return redirect::intended('admin/dashboard');
}
else
{
return redirect('admin/login');
}
}
public function logout()
{
Auth::logout();
return redirect('admin/login');
}
public function showDashboard()
{
return view('admin.dashboard');
}
}
登录.blade.php
<html>
<body>
{!! Form::open(array('url' => 'admin/check', 'id' => 'login')) !!}
<input type="text" name="username" id="username" placeholder="Enter any username" />
<input type="password" name="password" id="password" placeholder="Enter any password" />
<button name="submit">Sign In</button>
{!! Form::close() !!}
</body>
</html>
因为你的控制器是命名空间的,除非你专门导入Auth
命名空间,PHP 会假设它位于类的命名空间下,从而给出此错误。
要解决此问题,请添加use Auth;
在顶端AdminHomeController
文件与其他 use 语句一起使用,或者为所有实例添加前缀Auth
像这样的反斜杠:\Auth
让 PHP 知道从全局命名空间加载它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)