当我尝试将Laravel 3应用程序更新到Laravel 4时,遇到了以下问题...
我尝试过的路由:
Route::get('backend/login', 'backend/UserController@login');
Route::get('backend/login', 'backend.UserController@login');
当我尝试将Laravel 3应用程序更新到Laravel 4时,遇到了以下问题...
我尝试过的路由:
Route::get('backend/login', 'backend/UserController@login');
Route::get('backend/login', 'backend.UserController@login');
我几个小时前也遇到了类似的问题,不过我花了点时间调整才让它正常工作。
路由:
Route::group(array('prefix' => 'admin'), function() {
Route::resource('/', 'admin\DashboardController');
});
namespace admin;
use Illuminate\Support\Facades\View;
class DashboardController extends \BaseController {
public function index()
{
return View::make('admin/dashboard');
}
}
这在Laravel 4上起了作用。希望你觉得它足够有用。 :)
目前,在 Laravel 4 Beta 1 版本中,您只能使用命名空间。
例如,在您的控制器文件中:app/controllers/backend/UserController.php
<?php namespace Controllers\Backend;
use Illuminate\Routing\Controllers\Controller;
class UserController extends Controller {
// Note extends Controller and not BaseController
// Your stuff
}
?>
<?php
Route::get('backend/login', 'Controllers\Backend\UserController@login');
我不知道这是否是更好的方法,但是在这里工作。编辑并转储自动加载“composer.json”似乎实际上不起作用。
如果有人能改进这个,他将让我的一天!:)
use Illuminate\View\Environment;
,并设置__construct()函数。 - Pierre BrouczRoute::group(array('prefix' => 'backend', 'namespace' => 'backend'), function()
{
Route::get('login', 'UserController@login');
});
它的运作效果非常好:)
我一直在使用它,而且非常不错,它可以帮助你保持代码更加清晰易懂。试试看吧!
我建议这样做
Route::group(array('prefix' => 'backend'), function() {
// Responds to Request::root() . '/backend/user'
Route::resource('login', 'UserController');
});
在这里查看更多信息
Laravel 4嵌套资源控制器Route::resource('admin/photo', 'PhotoController');无法工作
我的管理控制器在app/controllers目录中
class AdminController extends BaseController {
/**.
* @return \AdminController
*/
public function __construct()
{
}
}
现在我有一个名为admin的文件夹,位于控制器文件夹中,即app/controllers/admin,并且我在那里有另一个控制器,名为AdminDashboardController.php。
class AdminDashboardController extends AdminController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getIndex()
{
return View::make('admin/dashboard');
}
}
Route::group(array('prefix' => 'admin'), function()
{
# Admin Dashboard
Route::controller('/', 'AdminDashboardController');
});
希望这可以帮到你..:-)
你也可以将后端/管理面板打包成一个包..值得思考 :)