2013-03-11 30 views
0

我知道這是可以嵌套數組或對象,並訪問他們像這樣:是否可以通過多個冒號訪問php變量/常量?

some_array["sub_type1"]["value"] 

some_object->sub_type1->value 

但是,它也有可能使用某種形式的嵌套的常量值和存取權限他們像這個?

SOME_CLASS::SUB_TYPE::MORE_SUBTYPES::VALUE 
+3

由於類常量在課堂之外始終可用,您爲什麼需要? – 2013-03-11 22:25:19

+1

這可能會使用[namespaces](http://php.net/manual/en/language.namespaces.php),但語法略有不同 – zerkms 2013-03-11 22:25:53

回答

2

對您的子類型使用類繼承,並在相應的子類型定義中定義常量。

<?php 
class Someclass {} 
class Someclass_Subtype extends Someclass {} 
class Someclass_Subtype_Child extends Someclass_Subtype 
{ 
    const VALUE = 'whatever'; 
} 
+0

這就是類的濫用。這很痛苦:( – Amelia 2013-03-11 22:39:39

+0

是怎麼回事?我不是建議那些實際上應該是空類,但是OP應該使用繼承類,而不是爲了這個目的劫持常量;) – landons 2013-03-11 22:41:01

+0

是真的,但他可能從命名空間中受益然後他會避免與沒有任何狀態的班級相關的異端 – Amelia 2013-03-11 22:47:26

相關問題