小编lif*_*ife的帖子

PHP返回类型提示,对象还是一个布尔值?

所以我知道我可以在php7中做返回类型提示.我可以做一个对象返回提示:

function getUser($pdo, $username) : User
{

}
Run Code Online (Sandbox Code Playgroud)

其中User是要返回的对象.

但是,如果在SQL中找不到用户,则返回'false'而不是User对象给出:

未捕获的TypeError:UserFind :: findUser()的返回值必须是User的实例,返回布尔值

但是如果SQL无法找到用户怎么办?如果用户不存在,我怎么能返回一个布尔值false?在这种情况下,我应该忽略返回类型提示吗?

编辑:我看了另一个问题,"在PHP 7中可以为Nullable返回类型",虽然我的问题几乎相同,但我想通过询问是否有办法返回两种类型中的一种来扩展我的问题.例如,如果对象不存在,则返回一个对象或一个字符串?

php type-hinting php-7

18
推荐指数
1
解决办法
4254
查看次数

标签 统计

php ×1

php-7 ×1

type-hinting ×1