php - Laravel 5 注册一个 Controller 来映射所有方法

标签 php routes laravel-5

我是来自 CodeIgniter 背景的 Laravel 5 新手。我习惯不玩routes.php。 CodeIgniter 自动映射诸如 controllerName/MethodName 之类的方法。但在 Laravel 5 中,我尝试通过在 app/http/sroutes.php 顶部编写以下内容来注册 Controller 来执行相同的操作:

Route::controllers([        
    'admin/user' => 'Admin\AdminUserController',
]);

当我运行 php artisan route:list 时,它显示 Controller 已注册。但是当我看到 URL /public/admin/user/addRole 时,它显示 addRole 方法不存在,而我在 AdminUserController 中创建了一个方法。

管理员/AdminUserController.php

<?php namespace App\Http\Controllers\Admin;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class AdminUserController extends Controller {
    public function getaddRole(){
        echo "adding Roles";
    }
}

路由.php

 Route::controllers([       
        'admin/user' => 'Admin\AdminUserController',
    ]);

最佳答案

<?php namespace App\Http\Controllers\Admin;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class AdminUserController extends Controller {
    public function getAddRole(){
        echo "adding Roles";
    }
}

注意:注意 getAddRole() 而不是 getaddRole(),使用驼峰命名法

如果您的 Controller 操作包含多个单词,您可以在 URI 中使用“破折号”语法访问该操作,如下所示:

公共(public)/管理员/用户/添加角色

关于php - Laravel 5 注册一个 Controller 来映射所有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255072/

相关文章:

php - 当 '0' 存在时,Mysql ORDER BY 不工作

session - 在路由子集上激活的 Express.js session

asp.net-mvc - 从 mvc 5 主页默认路由中删除主页索引

PHP:用逗号(,)拆分字符串但忽略方括号内的任何内容?

php - 从 mysql JOIN 获取所有结果,即使没有连接匹配

php - 使用 PHP 获取 USPS 订单跟踪状态

php - Docker 与 php,文件上传失败,$_FILE 为空

sql - 根据数据库中的id获取express js url路由

php - 为什么我在使用 Laravel : PHP Catchable Fatal Error? 时会收到此错误

php - Laravel中如何将变量从一个 Controller 传递到另一个 Controller