在laravel 5中找不到类'App \ Http \ Controllers \ admin \ Auth'

时间:2015-03-09 16:35:56

标签: php

我收到的错误类似于' App \ Http \ Controllers \ admin \ Auth'登录时未在laravel 5中找到。我是laravel的新手所以请帮助我或给我一些教程链接,以便与管理员一起完成laravel应用程序开发

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

login.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>

1 个答案:

答案 0 :(得分:32)

因为您的控制器是命名空间的,除非您专门导入Auth命名空间,PHP将假定它位于类的命名空间下,从而产生此错误。

要解决此问题,请在use Auth;文件的顶部添加AdminHomeController以及其他使用语句,或者使用反斜杠为Auth的所有实例添加前缀:\Auth让PHP知道从全局命名空间加载它。