문제

종종 저는 Magento 템플릿이나 블록 작업을 하고 변수를 찾는 동안 getter 메소드를 사용하려고 합니다.

나는 xDebug를 사용하므로 일반적으로 디버거를 통해 필요한 것을 찾고 getter 메서드를 추측하면 일반적으로 작동합니다.예를 들어:

$this->getProduct()->getId();

하지만 때로는 getter 메서드를 찾을 수 없고 PHPStorm과 함께 xDebug를 사용하여 필요한 값에 대한 표현식을 평가할 수 있습니다.enter image description here

이는 일반적으로 아래와 같은 표현을 제공합니다.

$program['type']->_data['special_url_key']

이것이 작동하는 동안 최선의 방법은 아닌 것 같습니다. $program->getType(); 하지만 작동하지 않습니다.

뭔가 빠졌나요?위의 예는 사용자 정의 모듈에서 가져온 것입니다. Magento의 Magic Getter & Setter 방법 그것은 여전히 ​​​​작동해야합니다.하지만 이 모듈을 보면 문제의 블록은 다음에서 상속되거나 확장됩니다. Mage_Core_Block_Template

도움이 되었습니까?

해결책

그것은 다음과 같습니다 $program 다음의 사례도 아닙니다. Varien_Object 전혀 객체도 아니므로, 오버로딩 방법 사용할 수 있습니다.

$program['type']->getSpecialUrlKey() 배열에 키가 있는 항목이 있으면 작동할 수 있습니다. type 그것이 바로 그 예이다 Varien_Object.

개발자의 삶을 더 쉽게 만들려면 "마법의" 메서드를 제공하는 클래스에 그에 따라 주석을 달아야 합니다. Mage_Sales_Model_Order 예를 들어.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top