Php 类中表示类型或消息的字符串列表的设计模式
题目可能不是我问题的好描述,但我没有找到更好的题目 基本上,随着时间的推移,我遇到的一个常见问题是定义一个类,该类包含表示某种类型或状态的常量变量Php 类中表示类型或消息的字符串列表的设计模式,php,oop,design-patterns,Php,Oop,Design Patterns,题目可能不是我问题的好描述,但我没有找到更好的题目 基本上,随着时间的推移,我遇到的一个常见问题是定义一个类,该类包含表示某种类型或状态的常量变量 <?php class Notification { const TYPE_MAIL = 'mail'; const TYPE_EXPORT = 'export'; ... } 我知道这个问题,我也听说过使用幻数(代码中使用的未定义字符串常量)的问题 我在这里找到一篇文章: 更好的链接: 我喜欢做的是在使用它们
<?php
class Notification {
const TYPE_MAIL = 'mail';
const TYPE_EXPORT = 'export';
...
}
我知道这个问题,我也听说过使用幻数(代码中使用的未定义字符串常量)的问题
我在这里找到一篇文章:
更好的链接:
我喜欢做的是在使用它们的实体/模型中添加所有相关常量,这样它们就被放置在应用程序的正确上下文中
例如,在我的客户实体/模型中,我在类的顶部有一个区域用于类常量,客户表中的一个字段是type,相关常量是const type\u DEMO=0;const TYPE_SHOP=1;const TYPE_SOMETHINGELSE=99代码>
结果是当使用它们时,我可以说$customerType=Customer::TYPE\u SHOP代码>可读性很好:)你试过这个吗:?我今天学到了一些新东西!谢谢说where type=“.Notification::type_MAIL.”有什么不对?列表可能会变得非常庞大,并且缺乏可维护性。我还没有找到更好的方法,因此在stack上发布了一篇帖子:)是的,这就是我描述的问题。我只是用字符串而不是数字:)我真的希望有比这个更好的解决方案。感谢您的反馈:)