【问题标题】:Why redeclare a PHP variable if it is found to be null with the same null value?如果发现 PHP 变量为 null 且具有相同的 null 值,为什么要重新声明它?
【发布时间】: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/…
  • 感谢您提出额外的问题。我真的很难找到任何相关的东西!

标签: php magento


【解决方案1】:

我认为这样做是因为您可以设置第三个参数而不更改第二个的默认值。 示例:

startEnvironmentEmulation($storeId, null, true); 

【讨论】:

  • 哦!这比尝试连续两次用空值填充变量更有意义!谢谢你的澄清。我会接受的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多