【发布时间】:2013-07-18 04:12:47
【问题描述】:
我需要帮助理解对象的类型提示。我尝试搜索 stackoverflow,但找不到任何其他用户解释其用途的内容。如果你找到一个让我知道。 首先让我解释一下我所理解的。
当使用数组类型提示时,用户必须输入一个数组参数,否则会抛出错误。
<?php
function something(array $myval)
{
return print_r($myval);
}
当我用一个对象尝试它时,我得到一个错误。我可能写错了,但请帮助我理解如何写。
<?php
class Person
{
function name($name)
{
return $name;
}
}
$foo = new Person();
function doSomething(Person $lname)
{
return $lname->name;
}
doSomething('smith');
据我了解,当函数类型提示对象 Person(在此示例中)时,参数变量将可以访问对象方法,就像实例化对象并回显其方法一样。我可能是错的,但请纠正我。我的另一个问题是,如果在 Person 参数可以访问 Person 方法的情况下确实如此,那么这与仅实例化 Person 类并手动回显方法有何不同。
【问题讨论】:
-
您收到错误消息,因为
'smith'是字符串而不是对象。您必须将$foo传递给doSomething()才能使其工作。 -
“我尝试搜索 stackoverflow” -- 您是否尝试搜索文档?一切都在explained 那里,并附有示例。
标签: php type-hinting