加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

我应该如何保持我的常量在PHP

发布时间:2020-12-13 16:33:23 所属栏目:PHP教程 来源:网络整理
导读:现在我在我的项目中有大量不变的字符串和枚举.自从开始我使用以下方法(伪 PHP代码示例): class Constants implements iStatuses,iEmailTypes {}interface iStatuses { const STATUS_NEW = 1; cosnt STATUS_UPDATED =2; ...}interface iEmailTypes { const E
现在我在我的项目中有大量不变的字符串和枚举.自从开始我使用以下方法(伪 PHP代码示例):
class Constants implements iStatuses,iEmailTypes {
}

interface iStatuses {
    const STATUS_NEW = 1;
    cosnt STATUS_UPDATED =2;
    ...
}

interface iEmailTypes {
    const EMAIL_TYPE_NEW = 1;
    const EMAIL_TYPE_UPDATED =2;
    ...
}

这个方法允许我在代码中的任何地方得到我的常量,因为我在index.php中包含了’Constants’类.

$this->sendEmailByType(CONSTANTS::EMAIL_TYPE_NEW);

但是,我完全可以看出方法的缺点:

>常量类被重载了很多枚举和常量,很难得到正确的常数.命名约定有助于解决它,但我不喜欢这个,因为它需要额外的思考来确定我需要的常数
常数班太大而凌乱
>我需要跟踪所有的接口,由Cosntants类实现.

由于我的项目现在变得越来越大,我们需要将它与另一个项目的代码进行合并,所以需要改变类常量方法.但是,根据该类的依赖关系太多了.我应该如何重新构造这种方法,以免破坏使用常量类的值的旧代码.

请分享您的想法和建议,如何改进我的“常数”方法,或确认它是正确的,我应该支持它.

先谢谢你.

为什么不是每个上下文都有不断的类.即
class Statuses 
{
    const STATUS_NEW = 1;
    const STATUS_UPDATED =2;
    ...
}

class EmailTypes 
{
    const EMAIL_TYPE_NEW = 1;
    const EMAIL_TYPE_UPDATED =2;
    ...
}

之后,当您或其他程序员希望为您的应用程序做出贡献时,他们可以轻松地检查他们期望的主题的相关常量,而不是查看大量的常量.

.e.g一直在寻找电子邮件类型的标志,我期望在EmailType ::中找到它,如果它不在那里,请放心将其添加到同一个类中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读