当我遇到这个问题时,我正在将我的 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');
});
在“控制器/管理员”中,我放置了 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
}
?>
所以之后,在文件中: app/routes.php :
<?php
Route::get('backend/login', 'Controllers\Backend\UserController@login');
我不知道是否是更好的方法,但在这里工作。编辑和转储自动加载“composer.json”实际上似乎不起作用。
如果有人可以改善这一点,他会让我开心!:)
如果你打算使用 Laravel 4,也许你应该看看这个:你可以指定在一组路由上使用的命名空间,你可以在这里看到:http ://www.laravel-tricks.com/tricks /路由组命名空间
所以在你的样本中:
Route::group(array('prefix' => 'backend', 'namespace' => 'backend'), function()
{
Route::get('login', 'UserController@login');
});
它就像一个魅力:)
我一直在使用它,并且非常好,它可以帮助您保持代码更清晰和更易于理解。试试看!
正如这里所解释的,使用 Laravel 4.1,您可以指定要在一组路由上使用的命名空间,如您在此处看到的:http ://www.laravel-tricks.com/tricks/route-group-namespacing
我一直在使用它,并且非常好,它可以帮助您保持代码更清晰和更易于理解。试试看!
我的管理控制器在 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.php 文件
Route::group(array('prefix' => 'admin'), function()
{
# Admin Dashboard
Route::controller('/', 'AdminDashboardController');
});
希望这可以帮助 ..:-)
我建议做
Route::group(array('prefix' => 'backend'), function() {
// Responds to Request::root() . '/backend/user'
Route::resource('login', 'UserController');
});
在这里查看更多信息
Laravel 4 嵌套资源控制器 Route::resource('admin/photo', 'PhotoController'); 不工作
您也可以将您的后端/管理面板放在一个包中..fruit 以供思考:)