8

当我遇到这个问题时,我正在将我的 Laravel 3 应用程序更新到 Laravel 4...

我尝试过的路线:

Route::get('backend/login', 'backend/UserController@login');
Route::get('backend/login', 'backend.UserController@login');
4

7 回答 7

6

几个小时前我遇到了一个类似的问题,我不得不稍微尝试一下才能让它工作。

路线:

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 上起到了作用。希望你觉得它足够有用。:)

于 2013-08-30T09:56:48.390 回答
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”实际上似乎不起作用。

如果有人可以改善这一点,他会让我开心!:)

于 2013-01-25T10:09:37.130 回答
2

如果你打算使用 Laravel 4,也许你应该看看这个:你可以指定在一组路由上使用的命名空间,你可以在这里看到:http ://www.laravel-tricks.com/tricks /路由组命名空间

所以在你的样本中:

Route::group(array('prefix' => 'backend', 'namespace' => 'backend'), function()
{

    Route::get('login', 'UserController@login');

});

它就像一个魅力:)

我一直在使用它,并且非常好,它可以帮助您保持代码更清晰和更易于理解。试试看!

于 2014-06-05T14:59:20.910 回答
0

正如这里所解释的,使用 Laravel 4.1,您可以指定要在一组路由上使用的命名空间,如您在此处看到的:http ://www.laravel-tricks.com/tricks/route-group-namespacing

我一直在使用它,并且非常好,它可以帮助您保持代码更清晰和更易于理解。试试看!

于 2014-06-03T10:54:17.863 回答
0

我的管理控制器在 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');
 });

希望这可以帮助 ..:-)

于 2014-04-21T19:55:46.687 回答
0

我建议做

Route::group(array('prefix' => 'backend'), function() {
    // Responds to Request::root() . '/backend/user'
    Route::resource('login', 'UserController');
});

在这里查看更多信息

Laravel 4 嵌套资源控制器 Route::resource('admin/photo', 'PhotoController'); 不工作

于 2013-01-29T20:43:55.983 回答
-1

您也可以将您的后端/管理面板放在一个包中..fruit 以供思考:)

于 2013-05-01T16:01:22.080 回答