vishun

vishun

这家伙有点懒,还没写个性签名!

  • 财富值45
  • 威望值0
  • 总积分195

个人信息

  • 感觉更多的作者个人习惯。用了很多的外键约束来保证同步更新(不支持外键约束的也做了特别的处理)。好处是在某些情况下不需要连表查询id对应的名称?或者楼上说的看起来更直观?

  • 同遇到这个问题,解决方法是增加pjax加载后的js处理:

    $(document).on('pjax:complete', function() {
        var el=$('#delete_type');//这个是input框id
        id = el.attr('id');
        var settings = el.attr('data-krajee-select2');
        settings = window[settings];
        $.when(el.select2(settings)).done(initS2Loading(id));//新版本是initS2Loading这个名字
    })
    

    参考:reload select2 after activeForm was submitted

  • 垃圾代码,你不用的就是垃圾吗?那辛苦写这些代码的会怎么想?真没必要在这里展示你的优越感!

  • 挺不错的,但是$removed是不能去掉的,否则只等于一次,直接就return true了,而原代码可能会删除好多个。而且多次array_splice会比array_values高吗?并不一定吧。

     foreach (self::$_events[$name][$class] as $i => $event){
                if($event[0] === $handler){
                    array_splice(self::$_events[$name][$class], $i, 1);
                    return true;//直接就跳出了
                }
            }
            return false;
    
  • 2017-07-26 已签到
    连续签到1天,获得了5个金钱
  • 可以用这种方法:

    $url=Yii::$app->request->referrer;//上次请求,也可以是随便的url
    $arr = parse_url($url, PHP_URL_QUERY);//只取?后的
    parse_str($arr, $output);//将其转为数组
    

    $output 就是类似的 $_GET
    这个貌似在 gridviewpjax 来删除时可以用到。

  • 赞了回答

    首先配置一下缓存,自己选择是用文件缓存还是数据库缓存等。

    'cache'         => [
                'class' => 'yii\caching\FileCache',
            ],
    

    然后就可以通过 Yii::$app->cache->set()Yii::$app->cache->get() 设置、获取缓存内容了。
    下面是一个带缓存依赖的实例:

    //表达式依赖  
    $dp = new ExpressionDependency([
                    'expression' => 'count(Yii::$app->authManager->getPermissionsByUser(Yii::$app->user->id))'
                ]);
    //数据库依赖(sql)  
                $dp2 = new DbDependency([
                    'sql' => 'select max(updated_at) from auth_item',
                ]);
    //链式依赖(把以上2个依赖串起来,任何一个发生变化都会使缓存失效)  
                Yii::$app->cache->set($key, $value, 0, new ChainedDependency([
                    'dependencies' => [$dp, $dp2]
                ]));
    
  • 不可能直接修改vendor中的内容,到时候composer一更新岂不是没有了,可以在配置中:

    return [
        // ...
        'components' => [
            'assetManager' => [
                'assetMap' => [
                    'AdminLTE.min.css' => '@web/css/AdminLTE.min.css',
                ],
            ],
        ],
    ];
    

    重新拷贝一份文件放到其它目录,加载时自动替换掉。
    参考:官方文档

  • 赞了评论
助理 等级规则
195/200
资料完整度
20/100
用户活跃度
0/100

Ta的关注

1

Ta的粉丝

4

Ta的访客

11