【发布时间】:2014-12-19 04:51:09
【问题描述】:
在 Magento 中工作时,我开始在整个核心编码中看到一种模式。然而,这是我在 PHP 编码的许多领域都看到的。在函数中声明变量时,就可以使用它。这方面的一个例子是在 magento 中,在模拟商店时有以下代码:
public function startEnvironmentEmulation(
$storeId,
$area = Mage_Core_Model_App_Area::AREA_FRONTEND,
$emulateSroreInlineTranslation = false
) {
if (is_null($area)) {
$area = Mage_Core_Model_App_Area::AREA_FRONTEND;
}
...
...
可以看到$area被定义了,如果发现为null则重新定义。
如果发现相同的变量为空,是否需要重新声明它,作为一种重试?还是我错过了什么?
任何理解这一点的帮助将不胜感激!
【问题讨论】:
-
这是由于 phps 处理默认参数的不足。不设置第二个参数就无法设置该方法中的第三个参数,这会破坏php中的默认参数:stackoverflow.com/questions/9166914/…
-
感谢您提出额外的问题。我真的很难找到任何相关的东西!