PHP: возможны ли занятия в классах?статическая отдача - PullRequest
1 голос
/ 06 февраля 2012

Я создаю постоянное зеркало моей базы данных, поэтому у меня больше нет проблем с опечатками.

То, чего я надеялся достичь, это просмотреть его в структуре, похожей на папку. как:

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";
}

ТНХ Matthy

1 Ответ

2 голосов
/ 06 февраля 2012

Это невозможно.
Константы класса должны быть константами. Даже константные выражения не поддерживаются.

С Руководство

Значение должно быть константным выражением, а не (например) переменной, свойством, результатом математической операции или вызова функции.

// 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";
}
...