奇怪的PHP语法 - $ variable之前的字符串?这是什么?

1Up*_*1Up 1 php

我在类这样的类中遇到了一段代码:

...
public function __construct(
    PDO $pdo,
    CommonSqlQueries $csq
) {
...
Run Code Online (Sandbox Code Playgroud)

PDO变量之前的字符串是什么意思$pdo?我甚至不知道这种语法是什么,更不用说如何研究它了.

rai*_*7ow 6

它被称为类型提示(它在PHP 5中引入):

函数现在能够强制参数为对象(通过在函数原型中指定类的名称),接口,数组(自PHP 5.1起)或可调用(自PHP 5.4起).但是,如果将if NULL用作默认参数值,则允许将其作为后续调用的参数.

如果不满足类型提示,则会导致可捕获的致命错误.在您的情况下,如果构造函数将使用除了PDOCommonSqlQueries对象分别作为第一个和第二个参数之外的其他内容调用,则会发生这种情况.