在 PHP 中,参数类型提示(Type Hinting)的作用是确保函数或方法接收正确类型的参数。类型提示可以帮助程序员理解函数期望的输入类型,从而避免因为传入错误类型的参数而导致的错误。类型提示还有助于提高代码的可读性和可维护性。
PHP 提供了几种参数类型提示的方式:
标量类型提示:包括 int、float 和 string。例如:
function foo(int $a, float $b, string $c)
表示函数foo
需要一个整型参数$a
,一个浮点型参数$b
和一个字符串参数$c
。数组类型提示:使用数组(array)作为参数类型提示。例如:
function bar(array $data)
表示函数bar
需要一个数组参数$data
。接口类型提示:使用接口(interface)作为参数类型提示。例如:
function baz(MyInterface $obj)
表示函数baz
需要一个实现了MyInterface
接口的对象参数$obj
。类名类型提示:使用类名(class)作为参数类型提示。例如:
function qux(MyClass $instance)
表示函数qux
需要一个MyClass
类的实例参数$instance
。可选参数类型提示:使用问号(?)表示参数是可选的,可以为 null。例如:
function qux(?MyClass $instance)
表示函数qux
的参数$instance
是可选的,可以为 null。参数类型联合提示:使用管道符(|)表示参数可以是多种类型中的一种。例如:
function qux(MyClass|MyInterface $instance)
表示函数qux
的参数$instance
可以是MyClass
类或MyInterface
接口的实现。
注意:从 PHP 7.0 开始,支持标量类型提示和返回类型提示。从 PHP 7.1 开始,支持返回类型提示。从 PHP 8.0 开始,支持联合类型提示。