【发布时间】:2012-01-21 07:40:26
【问题描述】:
PHP 5 Type Hinting
PHP 5 引入了类型提示。 函数现在能够将参数强制为对象(通过在函数中指定类的名称原型)或arrays(自 PHP 5.1)。但是,如果将NULL 用作默认参数值,则允许将其作为任何后续调用的参数。
以上摘录如下:
如果 NULL 被用作默认参数值,它将被允许作为任何后续调用的参数。
以上意思是:
如果默认参数与类型提示一起使用,它只能有NULL作为默认值。
即 code1 中的代码错误,导致:
致命错误:带有类类型提示的参数的默认值只能是NULL
代码1:
function setName ( string $name = "happ") {
...
}
code2 中的代码是正确的:
代码2:
function setName ( string $name = NULL) {
...
}
为什么在 php 中分配这个约束?
【问题讨论】:
标签: php type-hinting default-parameters