程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了记录特征的“常量”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决记录特征的“常量”?

开发过程中遇到记录特征的“常量”的问题如何解决?下面主要结合日常开发的经验,给出你关于记录特征的“常量”的解决方法建议,希望对你解决记录特征的“常量”有所启发或帮助;

php Trait 不能声明常量,但是否可以使用 DocComment(或其他方式)声明一个常量,如果使用 Trait 的类定义了它,则该 Trait 可能“使用”它?

例如,假设类 Book 是绑定到 books 表的模型。框架要求将表定义为 table 常量:

class Books extends Model
{
    const table = 'books';
}

创建模型时,我的 IDE 会自动补全 table 常量,因为它是在 @H_470_5@model 上声明的。太棒了。

现在,假设我有一个名为 Sluggable 的特征,该特征将帮助开发人员管理图书的 URL slug(例如 treasure-island),其中一个配置选项是是否自动 sluggify书名,与否。假设这是由 autoMATIC_SLUGS 常量控制的。

Trait Sluggable {
    public function generateSlug()
    {
        if (defined('static::autoMATIC_SLUGS') && static::autoMATIC_SLUGS) {
            // do the thing
        }
    }
}

显然,特征不能定义 autoMATIC_SLUGS 常量,因为这是不允许的,但是 IDE 不能建议,或以其他方式验证 autoMATIC_SLUGS 常量。所以我的模型 Books 现在有一个警告(在我的 IDE 中)告诉我 autoMATIC_SLUGS 未使用:

class Books extends Model
{
    use Sluggable;

    const table = 'books';

    // IDE complains about this constant
    const autoMATIC_SLUGS = true;
}

有没有办法让我 - 在特征上,并且不重构以使用静态属性 - 声明 Sluggable 将检查一个名为 autoMATIC_SLUGS 的常量,并让 IDE 建议/不虑没用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的记录特征的“常量”全部内容,希望文章能够帮你解决记录特征的“常量”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。