PHP:类中的类可能吗?静态回报

时间:2012-02-05 22:41:03

标签: php class static constants

我正在创建一个我的数据库的常量镜像,所以我不再遇到错误的问题了。

我希望实现的是将它放在像结构这样的文件夹中。像:

echo Db::categorie::id;  // should return Cat_ID

这是可能的,还是类似的东西?现在它给出了错误,因为它是不可能的。 在代码下面:

class Db // database
{
    /*@var $categorie DbCatergorie*/
    const categorie = DbCatergorie;
}

class DbCatergorie // table in database
{
    Const id = "Cat_ID";
    Const name = "Cat_Name";
    Const imgId = "Cat_Img_ID";
    Const volgorde = "Cat_Volgorde";
}

THX Matthy

1 个答案:

答案 0 :(得分:2)

这是不可能的。
类常量必须是常量。甚至不支持常量表达式。

来自manual

  

值必须是常量表达式,而不是(例如)变量,属性,数学运算的结果或函数调用。

// Wrong!
class C{
    const c = 54*34;
}

如果你担心拼写错误,我建议你这样做,

class Db // database
{
    Const CAT_ID = "Cat_ID";
    Const CAT_NAME = "Cat_Name";
    Const CAT_IMG_ID = "Cat_Img_ID";
    Const CAT_VOLGORDE = "Cat_Volgorde";
}