在 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 开始,支持联合类型提示。