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