zoukankan      html  css  js  c++  java
  • yii restful和一般路由共存

    <?php
    
    namespace appcontrollers;
    
    use Yii;
    use yii
    estActiveController;
    
    /**
     * 
     */
    class TestController extends ActiveController
    {
    
        public $modelClass = 'appmodelsTest';
    
        public function behaviors()
        {
            $behaviors = parent::behaviors();
            $behaviors['contentNegotiator']['formats'] = ['application/json' => yiiwebResponse::FORMAT_JSON];
            return $behaviors;
        }
        
        public function actionHi($id)
        {
            return ['s', 2];
        }
    
    }

    上述代码中行为定义了默认返回json。

    'urlManager' => [
                'enablePrettyUrl' => true,
                'enableStrictParsing' => true,
                'showScriptName' => false,
                'rules' => [
                    [
                        'class' => 'yii
    estUrlRule', 
                        'pluralize' => false,  //关闭复数显示,如user访问变成了users
                        'controller' => 'test'
                    ],
                ],
            ],

    在没有开启上面的配置前,/test/1,可以通过index.php?r=test/view&id=1 访问,也就是一般的路由规则访问。

    没有开启enablePrettyUrl = true ,则通过/test/view?id=1访问。

    如果全部按照上面示例的配置,且配置controller,则可以直接/test/1访问,因为这个yii estUrlRule内部已经把路由做了处理。

    如:

    [

    'PUT,PATCH users/<id>' => 'user/update',

    'DELETE users/<id>' => 'user/delete',

    'GET,HEAD users/<id>' => 'user/view',

    'POST users' => 'user/create',

    'GET,HEAD users' => 'user/index',

    'users/<id>' => 'user/options',

    'users' =>'user/options',

    ]

    在没有开启restful相关的配置前,按照一般的路由规则访问。

  • 相关阅读:
    mysql替代like模糊查询的方法
    8个超实用的jQuery插件应用
    判断登陆设备是否为手机
    SQL tp3.2 批量更新 saveAll
    SQL-批量插入和批量更新
    防止手机端底部导航被搜索框顶起
    php COM
    thinkphp3.2 where 条件查询 复查的查询语句
    Form表单提交,js验证
    jupyter notebook 使用cmd命令窗口打开
  • 原文地址:https://www.cnblogs.com/luckcs/p/7159732.html
Copyright © 2011-2022 走看看