使用可能なゲッター メソッドを確認する方法
-
29-09-2020 - |
質問
多くの場合、私は Magento テンプレートまたはブロックで作業しており、変数を探しているときにゲッター メソッドを使用しようとします。
私は xDebug を使用しているので、通常はデバッガーを使用して必要なものを見つけてゲッター メソッドを推測するだけで、通常は機能します。例えば:
$this->getProduct()->getId();
ただし、ゲッター メソッドが見つからず、PHPStorm で xDebug を使用して、必要な値の式を評価することがあります。
通常、これにより次のような表現が得られます。
$program['type']->_data['special_url_key']
これは機能しますが、最善の方法ではないようです。 $program->getType();
しかし、それは機能しません。
何かが足りないのでしょうか?上記の例はカスタムモジュールからのものです。 Magento の Magic Getter メソッドと Setter メソッド まだ動作するはずです。ただし、このモジュールを見ると、問題のブロックは継承または拡張されています。 メイジコアブロックテンプレート
解決
のように見えます $program
どちらのインスタンスでもない Varien_Object
オブジェクトでもありません。したがって、 メソッドのオーバーロード ご利用いただけます。
$program['type']->getSpecialUrlKey()
配列にキーを持つエントリがある場合は機能する可能性があります type
それはの例です Varien_Object
.
開発者の作業を容易にするために、「魔法の」メソッドを提供するクラスにはそれに応じて注釈を付ける必要があります。 Mage_Sales_Model_Order
例えば。
所属していません magento.stackexchange