Подсказка типов PHP 5
PHP 5 представляет подсказку типов. Теперь функции могут принудительно превращать параметры в объекты (путем указания имени класса в прототипе функции strong>) или arrays
(начиная с PHP 5.1). Однако, если NULL
используется в качестве значения параметра по умолчанию, он будет разрешен в качестве аргумента для любого последующего вызова.
Следующий отрывок из вышеизложенного:
Если NULL
используется в качестве значения параметра по умолчанию, он будет разрешен в качестве аргумента для любого последующего вызова.
Означает ли вышесказанное:
если параметры по умолчанию должны использоваться с указанием типа, в качестве значения по умолчанию может быть только NULL
.
т.е. код в code1 неверен и приводит к:
Неустранимая ошибка: значение по умолчанию для параметров с подсказкой типа класса может быть только NULL
code1:
function setName ( string $name = "happ") {
...
}
Где, как код в code2, прав:
code2:
function setName ( string $name = NULL) {
...
}
Почему это ограничение назначается в php?