Параметр рефакторинга не определен в выпуске функции

Я работаю над некоторым старым PHP, и я не являюсь экспертом высшего класса PHP (пока).

Некоторая часть кода в классе вызывает метод с параметром массива:

$saleServers = $this->getSaleServers();
// Getting prices from cache or request
$prices = $this->getProductPrices($saleServers);

Тем не менее, метод не определяет параметр массива:

public function getProductPrices($getLicenseLifetime = true) { ... }

Мои вопросы:

  1. Как PHP справится? $saleServersЭто собирается игнорировать это? Если да, думаю, я могу удалить его из вызова функции.

  2. Как PHP справится? $getLicenseLifetime в отношении $saleServers? Будет ли они смешивать их или держать отдельно (то есть PHP не собирается назначать $saleServers в $getLicenseLifetime, правильный)?

0

Решение

$getLicenseLifetime будет установлен на содержание $saleServers, если вы так называете, и будет true, если вы пропустите параметр.

PHP слабо типизирован, поэтому вы можете вызывать функцию с переменными любого типа, а внутри функции вы можете проверить тип переменной, которая содержит параметр, с помощью таких функций, как is_array () и т.д. PHP5 знает концепцию хинтинга типов, которая в основном работает с объектами (например, не поддерживает скаляры), а с PHP7 вы можете объявлять типы аргументов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]