【发布时间】:2017-04-24 02:51:12
【问题描述】:
在php中,我想知道以下功能是否等效?
class Foo {
public $bar;
...
public function setBar($bar) {
$this->bar = (array)$bar;
}
}
class Foo {
public $bar;
...
public function setBar(array $bar) {
$this->bar = $bar;
}
}
这两者中的哪一个被认为是最佳实践?两者都做有意义吗?:
class Foo {
public $bar;
...
public function setBar(array $bar) {
$this->bar = (array)$bar;
}
}
【问题讨论】:
-
不,它们在功能上并不相同。如果您尝试传递意外的值,类型提示将引发错误,而类型转换将尝试更改值的类型。
标签: php casting setter type-hinting