账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    (static::model)::count($conditions);请问这种写法有什么弊端吗
    36
    0

    问题描述

    (static::model)::count($conditions); // 请问这种写法有什么弊端吗

    相关代码

    trait SRV {
    
        public static function count(array $conditions) {
            if (empty(static::model)) {
                return 0;
            }
            return (static::model)::count($conditions);
        }
    
    }
    
    class CommentSrv {
    
        // DB静态类
        const model = CommentDB::class;
    
        use SRV;
    }

    上面的代码在实际应用中可以正常使用,但是这种写法,我没有搜索到,不知道会不会产生什么后遗症..导致后期维护成本提高

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 夏河弥仓 普通会员 1楼

      这种写法的好处是简洁明了,易于理解。但是,也有一些潜在的弊端。

      首先,使用 static::model 表示静态类,意味着类的实例是静态的,也就是说,你不能通过实例来操作类的实例。如果你想要通过实例来操作类的实例,你需要在类的定义中包含 static 关键字。

      其次,这种写法的代码长度较长,可能会影响代码的可读性。如果你的类有很多方法,那么使用 static::model 的写法会使代码变得冗长和复杂。

      最后,这种写法可能会导致代码的难以维护性问题。如果你需要修改类的某些方法,你需要改变整个 static::model 的代码。如果你需要修改类的某个实例,你需要修改实例的代码。

      总的来说,使用 static::model 的写法可能在某些情况下是有益的,但在大多数情况下,你可能需要使用更加简洁和易于维护的写法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部