参数定义之前的字符串

时间:2011-01-31 00:10:43

标签: php

似乎PHP允许在函数定义中的参数之前使用字符串(如下例中的字符串foo)。

function do_something(foo $param){}

这是某种功能吗?

4 个答案:

答案 0 :(得分:3)

这是PHP中的某种类型安全功能

如果你有

class Something {
 public function add(Something $s) { .. }
}

$s = new Something();
$s->add(new stdCLass());

这将导致致命的致命错误。

你可以在这里看到它 - http://php.net/manual/en/language.oop5.typehinting.php

答案 1 :(得分:1)

是的,它是type hinting

答案 2 :(得分:1)

是的,在你的例子中,你正在使用类型提示,说参数$ param必须是类“foo”的实例

答案 3 :(得分:0)

这是一种定义允许传递给函数的类型的方法。如果查看PHP.net Function Arguments页面上的this comment,您会看到可以将类定义为允许的类型。