在 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 開始,支持聯合類型提示。