函数问题中未定义重构参数
Refactoring parameter not defined in function issue
我正在研究一些旧的 PHP,我还不是 PHP 顶尖专家(目前)。
class 中的一些代码调用了一个带有数组参数的方法:
$saleServers = $this->getSaleServers();
// Getting prices from cache or request
$prices = $this->getProductPrices($saleServers);
然而,该方法没有定义数组参数:
public function getProductPrices($getLicenseLifetime = true) { ... }
我的问题是:
PHP怎么处理$saleServers
,是不是要忽略了?如果是,我想我可以将它从函数调用中删除。
关于 $saleServers
,PHP 将如何处理 $getLicenseLifetime
?它是将它们混合起来还是将它们分开(即 PHP 不会将 $saleServers
分配给 $getLicenseLifetime
,正确)?
如果这样调用,$getLicenseLifetime
将设置为 $saleServers
的内容,如果省略参数,则将设置为 true
。
PHP 是弱类型的,因此您可以使用任何类型的变量调用该函数,并且在函数内部您可以使用 is_array() etc. PHP5 knows the concept of type hinting, which mainly works on objects (does not support scalars for example) and with PHP7 you can declare argument types 等函数检查保存参数的变量类型.
我正在研究一些旧的 PHP,我还不是 PHP 顶尖专家(目前)。
class 中的一些代码调用了一个带有数组参数的方法:
$saleServers = $this->getSaleServers();
// Getting prices from cache or request
$prices = $this->getProductPrices($saleServers);
然而,该方法没有定义数组参数:
public function getProductPrices($getLicenseLifetime = true) { ... }
我的问题是:
PHP怎么处理
$saleServers
,是不是要忽略了?如果是,我想我可以将它从函数调用中删除。关于
$saleServers
,PHP 将如何处理$getLicenseLifetime
?它是将它们混合起来还是将它们分开(即 PHP 不会将$saleServers
分配给$getLicenseLifetime
,正确)?
$getLicenseLifetime
将设置为 $saleServers
的内容,如果省略参数,则将设置为 true
。
PHP 是弱类型的,因此您可以使用任何类型的变量调用该函数,并且在函数内部您可以使用 is_array() etc. PHP5 knows the concept of type hinting, which mainly works on objects (does not support scalars for example) and with PHP7 you can declare argument types 等函数检查保存参数的变量类型.