在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,重新声明是否重要,作为一种重试?或者我错过了什么?
理解这一点的任何帮助都将不胜感激!
答案 0 :(得分:3)
我认为这样做是因为您可以设置第三个参数而不更改第二个参数的默认值。 例如:
startEnvironmentEmulation($storeId, null, true);