저는 최근에 PHP 게임을 강화 해 왔습니다. 자바 스크립트에서부터, 객체 모델이 좀 더 이해하기 쉽다는 것을 알게되었습니다.PHP 속성 액세스 및 달러 기호
필자가 문서에서 찾을 수없는 몇 가지 단점을 분명히하기를 원했습니다. PHP에서 클래스를 정의 할 때
, 당신과 같이 속성을 정의 할 수 있습니다 :
class myClass {
public $myProp = "myProp";
static $anotherProp = "anotherProp";
}
을 우리가 사용하지 않고 $myClass->myProp
($myClass
라는 변수에 참조 myClass
가정)를 사용하여 액세스 할 수 있습니다 $myProp
의 공용 변수로 달러 기호의.
::
을 사용하여 정적 변수에만 액세스 할 수 있습니다. 따라서 $myClass::$anotherProp
과 같은 정적 변수에 달러 기호로 액세스 할 수 있습니다.
질문 : 왜 달러 기호 ::
과 ->
이 아닌 달러 기호를 사용해야합니까?
class SethensClass {
static public $SethensProp = "This is my prop!";
}
$myClass = new SethensClass;
echo $myClass::$SethensProp;
흥미로운 ... 하나의 upvote와 하나의 닫기 요청. – Sethen
[귀하의 다른 질문] (http://stackoverflow.com/q/17681253/20578)에 대한 의견을 보내서 죄송합니다. (일련의 개별 질문으로 질문하는 경우 개인적으로 괜찮을 것으로 생각됩니다. 예 : http : //stackoverflow.com/questions/15270843/what-does-plus-operator-mean-in-underscore-js)하지만 "최선의 관행은 이렇게 말합니다"와 같은 말은 조금 의미가 없습니다. 왜 * 왜 * 당신이 무언가가 "모범 사례"라고 생각하는지 설명 할 수 없다면 어떻게 그 것이 "최고"인지 어떻게 알 수 있습니까? 다른 상황은 상황에 따라 다릅니다. –
@ PaulD.Waite 괜찮습니다. 개발로 전진하려는 개발자는 특정 라이브러리가 최상의 학습 방법을 따라 학습하는 데 도움이되는지 여부를 묻는 질문에 마음이 허용됩니다. 큰 지역 사회를 위해 그것을 지원하지 않는 것은 매우 실망 스럽습니다. 나는 특정 라이브러리가 베스트 프랙티스를 사용하여 작성되었다고 생각하지 않으며, 내가 잘못하고 있지 않다는 것을 확인하려고 노력하고있다. 그래서 코드를 제공 할 때 그것이 최선이라는 것을 확신 할 수있다. – Sethen