YIi 使用经验

技巧库 · wy1272086709 · 于 6年前 发布 · 5254 次阅读
  • YII2之获取当前路由字符串 可以在控制器中使用 $this->route ,获取当前action对象可以使用 $this->action ,获取当前控制器ID \Yii::$app->controller->id 获取当前模块ID,可以使用 $this->module->id 可以获取当前模块id

  • YII2之设置友好的路由,在配置文件中['urlManager' => ['enablePrettyUrl' =>true,'showScriptName' => false] ]

  • 在yii2 中使用闭包校验器时,应该使用$this->addError($attribute,$message); 方法来添加校验失败信息,而不是使用return false;

  • 在yii2 中模型类中获取最后插入的id.可以用以下几种方法:

    1 . \Yii::$app->getDb()->lastInsertId;

    2 . $model->attributes['id']

    3 . $model->getOldAttribute("id") ((2,3中ID为主键,自增ID))

  • yii2 中对字符串进行转义使用yii\helpers\BaseHtml::encode($str) 方法对$str 进行转义.

  • yii2 中 打开性能调试 在配置文件中使用

    if (YII_ENV_DEV) {
     $config['bootstrap'][] = 'debug';
     $config['modules']['debug'] = [
         'class' => 'yii\debug\Module',
         'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*'],
     ];
    
  • YII2 之手动使用验证码验证器进行校验的时候,可以使用如下的代码:

         //$type, $model, $attributes
         $validator = Validator::createValidator('captcha', $model, ['verifyCode']); 
         $needVerifyCode = $validator->validate(trim($_POST['verifyCode']));
    
  • YII2 之可以控制器的默认action ID是 index( 控制器中有public $defaultAction = 'index'),默认的控制器ID是default(模块中有 public $defaultRoute = 'default';)(这里的defaultRoute 可以更具体,如admin/post/create等)

  • Yii2 之获取Querybuilder 类的对象的时候,可以使用$builder = $db->getQueryBuilder();来生成对应的对应的对象,然后再调用$builder->build($query);来生成对应的sql

共收到 1 条回复
forecho#16年前 0 个赞

哎,分享经验是值得鼓励的,但是看你这个排版,是不打算让别人看你文章的意思吗?真的很乱。

找半个小时好好学一下 markdown 排版吧,真不难学。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册