在 PHP 中,參數(shù)類型提示(Type Hinting)的作用是確保函數(shù)或方法接收正確類型的參數(shù)。類型提示可以幫助程序員理解函數(shù)期望的輸入類型,從而避免因?yàn)閭魅脲e(cuò)誤類型的參數(shù)而導(dǎo)致的錯(cuò)誤。類型提示還有助于提高代碼的可讀性和可維護(hù)性。
PHP 提供了幾種參數(shù)類型提示的方式:
標(biāo)量類型提示:包括 int、float 和 string。例如:function foo(int $a, float $b, string $c)
表示函數(shù) foo
需要一個(gè)整型參數(shù) $a
,一個(gè)浮點(diǎn)型參數(shù) $b
和一個(gè)字符串參數(shù) $c
。
數(shù)組類型提示:使用數(shù)組(array)作為參數(shù)類型提示。例如:function bar(array $data)
表示函數(shù) bar
需要一個(gè)數(shù)組參數(shù) $data
。
接口類型提示:使用接口(interface)作為參數(shù)類型提示。例如:function baz(MyInterface $obj)
表示函數(shù) baz
需要一個(gè)實(shí)現(xiàn)了 MyInterface
接口的對象參數(shù) $obj
。
類名類型提示:使用類名(class)作為參數(shù)類型提示。例如:function qux(MyClass $instance)
表示函數(shù) qux
需要一個(gè) MyClass
類的實(shí)例參數(shù) $instance
。
可選參數(shù)類型提示:使用問號(?)表示參數(shù)是可選的,可以為 null。例如:function qux(?MyClass $instance)
表示函數(shù) qux
的參數(shù) $instance
是可選的,可以為 null。
參數(shù)類型聯(lián)合提示:使用管道符(|)表示參數(shù)可以是多種類型中的一種。例如:function qux(MyClass|MyInterface $instance)
表示函數(shù) qux
的參數(shù) $instance
可以是 MyClass
類或 MyInterface
接口的實(shí)現(xiàn)。
注意:從 PHP 7.0 開始,支持標(biāo)量類型提示和返回類型提示。從 PHP 7.1 開始,支持返回類型提示。從 PHP 8.0 開始,支持聯(lián)合類型提示。