PHP 对原始值的类型提示?

2023-12-19

我想知道是否可以类型提示一种方法来期望原始类型?

像这样的事情:

public function someMethod(string $str)
                         //^^^^^^

Or:

private function anotherMethod(int $num)
                             //^^^

就像你会的那样:

private function otherMethod(Person $rambo)
                           //^^^^^^

在php中可以吗?


在 PHP 7 中,他们添加了以下内容:

类型声明允许函数在调用时要求参数为某种类型。如果给定值的类型不正确,则会生成错误:在 PHP 5 中,这将是可恢复的致命错误,而 PHP 7 将抛出 TypeError 异常。

参考:http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration


当这个答案被问到时,PHP 5 是最新的,并说了以下内容:

PHP 5 引入了类型提示。函数现在可以强制参数可以是对象(通过在函数原型中指定类名)、接口、数组(自 PHP 5.1 起)或可调用(自 PHP 5.4 起)。但是,如果将 NULL 用作默认参数值,则将允许将其作为任何后续调用的参数。

如果类或接口被指定为类型提示,那么它的所有子类或实现也被允许。

类型提示不能与标量类型(例如 int 或 string)一起使用。资源和特征也是不允许的。

参考:http://php.net/manual/en/language.oop5.typehinting.php http://php.net/manual/en/language.oop5.typehinting.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 对原始值的类型提示? 的相关文章

随机推荐