2013-03-11 3 views
0

나는 둥지 배열이나 객체에 가능하다 알고이처럼 액세스 :여러 콜론을 통해 PHP 변수/상수에 액세스 할 수 있습니까?

some_array["sub_type1"]["value"] 

또는

some_object->sub_type1->value 

그러나 중첩 된 상수 값의 어떤 종류를 사용하는 것도 가능처럼 그들을 액세서 이?

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

클래스 외부에서 항상 클래스 상수를 사용할 수 있으므로 왜 필요합니까? –

+1

[namespaces] (http://php.net/manual/en/language.namespaces.php)로 할 수는 있지만 구문이 약간 다릅니다. – zerkms

답변

2

하위 유형에 대한 클래스 상속을 사용하고 해당 하위 유형 클래스 정의에서 상수를 정의하십시오.

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

이는 이러한 클래스의 남용입니다. 그게 아파요 : ( – Amelia

+0

어떻게 그 사람들이 실제로는 빈 클래스가되어야한다고 제안하지는 않지만 OP는 상속을위한 클래스를 사용해야하며 그 목적을 위해 상수를 어떻게 든 사용해서는 안됩니다;) – landons

+0

사실,하지만 그는 아마도 네임 스페이스 그리고 나서 그는 상태가없는 클래스와 연관된 이단을 피할 것입니다. – Amelia

관련 문제