首先:我试图google,但是我主要只讨论如何在常量和其他无关信息中定义数组.
我有一个关于一个解决方案的问题,使我的代码更可读(和漂亮),只是发生在我身上.基本上,我有大多数函数返回一个状态代码,指示成功,或者,如果出现问题,错误代码.为此,我创建了一个名为“StatusCode”的类,它只包含常量,如下所示:
<?PHP class StatusCode { const success = 0; const badArgument = -1; const badQuery = -2; const outOfMana = -3; //Really just for demonstration purposes ... }
目的是使魔术数字从我的代码中消失,并清楚出现错误,而无需在某处寻找解释:
if (mana > 10) { //Do some magic return StatusCode::success; } else { //Oh god this is not good! return StatusCode::outOfMana; }
它也应该消除意外使用重复错误代码的可能性.
我很确定这给我的应用程序增加了一个较小的开销,但是使我的代码更容易理解.有没有地球破碎的原因不要这样做?也许是更好的方式呢?
在Java和其他语言中,这是常用的命名空间常量方法,以避免命名冲突.见
here;
我实施这样一个类的方式就像这样“
// make this final so no one can extend it final class Errors{ const SUCCESS = 0; const BAD_ARGUMENT = -1; const BAD_QUERY = -2; const OUT_OF_MANA = -3; // make this private so noone can make one private function __construct(){ // throw an exception if someone can get in here (I'm paranoid) throw new Exception("Can't get an instance of Errors"); } }