我在Magento中找到了很多代码片段,例如
$variable_name = Mage::app()->function_name();
这是一个例子
$websites = Mage::app()->getWebsites(true, true);
这个函数调用什么(调用?)呢?语法不熟悉,我需要一些基本的解释,以便我可以更好地跟踪代码。
答案 0 :(得分:3)
为自己设置一个像Eclipse with PDT这样的好IDE。它的代码完成工具是天赐之物。
例如,当您键入 M A 时,它会自动将其完成Mage::
并提供静态函数列表,包括app()
。在那之后类型 - > G E T W 并且它会显示另一个函数列表,getWebsites()
将在您键入时被选中,突出显示时将解释所需的参数和概述(从PHPDoc收集),以解释它的作用。
如果你有这样的工具,你永远不会问“实际上这个函数调用了什么?”在网站上。
答案 1 :(得分:3)
这实际上是两个单独的方法调用。
$result = Mage::app()->getWebsites();
第一个是
$o = Mage::app();
这是在“班级法师”上调用static method app
,可以在
app/Mage.php
::
运算符调用静态类方法。如果你不明白这意味着什么,那就想想“左边的类,右边的方法,你不能在方法中使用$ this变量”。
因此,此方法调用返回一个对象,该对象几乎肯定是Mage_Core_Model_App
,位于
app/code/core/Mage/Core/Model/App.php
因此上面的一个班轮可以改写为
$o = Mage::app();
$result = $o->getWebsites();
希望有助于揭开神秘面纱的神秘面纱。
答案 2 :(得分:1)
您可能会看到的一件事是zend框架中的“魔术吸气剂和制定者”。我知道它让我有点困惑。在zend框架中,你可以调用gets和sets,而不需要在任何地方定义和实际的函数,如果没有函数定义那么它只是附加你调用set的对象的任何东西。
答案 3 :(得分:0)
您正在设置一个变量来包含函数返回的内容。要查看此方法确切返回的内容,您必须转储值或检查方法。通过它的外观,它将设置包含网站对象的值,以后可以通过此变量进行迭代或访问