Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向到子文件夹-Laravel 4中的控制器操作_Php_Routes_Laravel_Laravel 4_Controllers - Fatal编程技术网

Php 重定向到子文件夹-Laravel 4中的控制器操作

Php 重定向到子文件夹-Laravel 4中的控制器操作,php,routes,laravel,laravel-4,controllers,Php,Routes,Laravel,Laravel 4,Controllers,我是拉威尔的新手。 这可能非常简单,但我找不到示例或文档 我需要将用户重定向到子文件夹中控制器中的操作 文件夹结构: **app** ---**controllers** ------**Admin** ---------AdminHomeController.php (extends AdminController) ------AdminController.php ------BaseController.php ---**models** ---**views** ------**adm

我是拉威尔的新手。 这可能非常简单,但我找不到示例或文档

我需要将用户重定向到子文件夹中控制器中的操作

文件夹结构:

**app**
---**controllers**
------**Admin**
---------AdminHomeController.php (extends AdminController)
------AdminController.php
------BaseController.php
---**models**
---**views**
------**admin**
---------dashboard.php
------login.php
Routes.php

Route::get('/login', function()
{
    return View::make('login');
});

Route::group(array('before' => 'auth'), function()
{
    Route::resource('admin', 'AdminHomeController');

});

Route::post('/login', function()
{
    Auth::attempt( ['email' => Input::get('email'), 'password' =>       Input::get('password')] );

    **return Redirect::action('AdminHomeController@showAdminDashboard');**
});
登录后,我想重定向到AdminHomeController中名为“showAdminDashboard”的操作。 我知道我可以加载视图,但我想重定向


我的错误是-未知操作[AdminHomeController@showAdminDashboard]

为控制器等创建新类时,需要再次转储Composer自动加载文件,以便更新类映射。如果打开
composer.json
,您将看到一个
classmap
键,该值将是一个目录数组。列出的目录之一将是
app/controllers


直到你卸载一个新的自动加载,拉威尔才知道你的控制器。从终端只需运行
composer dump autoload
,它将不再需要几秒钟的时间。

当您为控制器等创建新类时,您需要再次转储composer autoload文件,以便更新类映射。如果打开
composer.json
,您将看到一个
classmap
键,该值将是一个目录数组。列出的目录之一将是
app/controllers


直到你卸载一个新的自动加载,拉威尔才知道你的控制器。只需从终端运行
composer dump autoload
,它将不再需要几秒钟的时间。

除非您为控制器命名,否则我认为您必须使用下划线来引用路由中的控制器:

Route::group(array('before' => 'auth'), function()
{
    Route::resource('admin', 'Admin_AdminHomeController');

});
然后确保重命名AdminHomeController类:

class Admin_AdminHomeController extends AdminController { 

将文件名保留为“AdminHomeController.php”,并将其保留在“Admin”文件夹中。之后,再次运行
composer dump autoload
,我认为您将可以工作。

除非您为控制器命名,否则我认为您必须使用下划线来引用路由中的控制器:

Route::group(array('before' => 'auth'), function()
{
    Route::resource('admin', 'Admin_AdminHomeController');

});
然后确保重命名AdminHomeController类:

class Admin_AdminHomeController extends AdminController { 

将文件名保留为“AdminHomeController.php”,并将其保留在“Admin”文件夹中。在那之后,再次运行
composer dump autoload
,我想你会工作的。

谢谢,但我已经运行了--“autoload”:{“classmap”:[“app/commands”,“app/controllers”,“app/models”,“app/database/migrations”,“app/database/seeds”,“app/tests/TestCase.php”]},我知道你已经运行了它,然后打开
vendor/composer/autoload_classmap.php
看看你的控制器是否在数组中。如果不是,你需要再次运行
composer dump autoload
。谢谢,但我已经运行了--“autoload”:{“classmap”:[“app/commands”,“app/controllers”,“app/models”,“app/database/migrations”,“app/database/seeds”,“app/tests/TestCase.php”]},我知道你已经运行了它,然后打开
vendor/composer/autoload_classmap.php
看看你的控制器是否在数组中。如果不是,则需要再次运行
composer dump autoload