【发布时间】:2014-10-02 18:34:01
【问题描述】:
我是 Laravel 框架的新手,我被路由困住了。
文件夹结构:
app
controllers\
admin\ authcontroller.php
路线:
Route::get('admin/logout', array('as' =>'admin.logout', 'uses'=>'App\Controllers\Admin\AuthController@getLogout' ));
Route::get('admin/login', array('as' =>'admin.login' , 'uses'=>'App\Controllers\Admin\AuthController@getLogin' ));
Route::get('admin/login',array('as'=>'admin.login.post','uses'=>'App\Controllers\Admin\AuthController@postLogin'));
Route::group( array('prefix' =>'admin' ,'before'=>'auth.admin' ),function (){
Route::any('/','App\Controllers\Admin\PagesController@index');
Route::resource('articles','APP\Controllers\Admin\ArticlesController');
Route::resource('pages','App\Controllers\Admin\PagesController');
});
authcontroller.php
<?php
namespace App\Controllers\Admin
use Auth, BaseController, Form, Input, Redirect, Sentry, View;
class Authcontroller extends BaseController
{
public function getLogin(){
die('here');
return View::make('admin.auth.login');
}
public function postLogin(){
$credentials= array(
'email' =>Input::get('email') ,
'password'=>Input::get('password'),
);
try{
$user=Sentry::authenticate($credentials,FALSE);
if($user){
return Redirect::route('admin.pages.index');
}
}
catch (Exception $e){
return Redirect::route('admin.login')->withErrors(array('login' => $e->getMessage() ));
}
}
/*
logout function
*/
public function getLogout(){
Sentry::logout();
return Redirect::route('admin.login');
}
}
错误:
类 App\Controllers\Admin\AuthController 不存在
是什么让这个错误出现
当我从 CMD 运行 composer dump-autoload 时 我没有找到在 autoload_namespaces.php 文件中加载的命名空间
【问题讨论】:
-
您放置控制器的命名空间是否正确?
-
我在我的控制器命名空间 App\Controller\Admin 中使用它,使用 Auth、BaseController、Form、Input、Redirect、Sentry、View;
-
你做了作曲家转储自动加载吗?此外,您拼写的是“Controller”,而不是“Controllers”,因此请尝试使用 \App\Controller\Admin\AuthController@method
-
当我让 composer dump-autoload 命名空间没有出现在 autoload_namespaces.php 中,我也无法理解您解决方案的第二部分,请提供更多详细信息