Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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 管理Yii2中的路由_Php_Yii2 - Fatal编程技术网

Php 管理Yii2中的路由

Php 管理Yii2中的路由,php,yii2,Php,Yii2,Yii2中的路由有问题。在camelcase中,我有控制器操作名,这是一个url管理器规则,使用该控制器的UrlRule类 行动: public function actionCreateRole() { if (!isset($_POST['name'])) { throw new BadRequestHttpException("Не передан обязательный параметр 'name'"); } $name = $_POST['

Yii2中的路由有问题。在camelcase中,我有控制器操作名,这是一个url管理器规则,使用该控制器的UrlRule类

行动:

public function actionCreateRole()
{
    if (!isset($_POST['name'])) {
        throw new BadRequestHttpException("Не передан обязательный параметр 'name'");
    }

    $name = $_POST['name'];

    if ($this->getAuthManager()->getRole($name) !== null) {
        throw new BadRequestHttpException("Роль уже существует");
    }

    $role = $this->getAuthManager()->createRole($name);
    $role->description = $_POST['description'];
    if (!$this->getAuthManager()->add($role)) {
        throw new ServerErrorHttpException();
    }

    return $role;
}
UrlManager配置:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        [
            'class' => 'yii\rest\UrlRule',
            'controller' => [
                'rbac',
            ],
            'patterns'=>[
                'POST role' => 'create-role',
            ],
        ],
    ],
],
在请求时有404错误

我正在尝试将模式设置为:

'patterns'=>[
     'POST role' => 'createRole',
],
响应-错误404


我的错误在哪里?

控制器的名称是什么?路径或url是什么?您可能对复数化规则(默认为
true
)有问题。您的url应该类似于
POST/rbacs
,并且您的控制器应该是
RbacController
。Mat,谢谢,问题出在pluralize属性中