为方法指定返回类型提示的正确语法是什么?
比如我有这样一个方法:
private static function ConstructPDOObject($dbname)
{
$hostname =self::HOSTNAME;
$username = self::USERNAME;
$password = self::PASSWORD;
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
return $dbh;
}
而且我希望,每当我调用上述方法时,IDE 都会向我显示 PDO 的方法。
如何添加类型提示?
最佳答案
为了将来引用,这是为 PHP 7 实现的,语法如下(引自源代码):
function foo(): array {
return [];
}
现在回答您的问题,从 PHP 7(2015 年底左右发布)开始,您将能够执行以下操作(作为示例):
<?php
function ConstructPDOObject($hostname, $dbname, $username, $password): PDO
{
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
return $dbh;
}
该规范还允许在接口(interface)内和针对接口(interface)进行类型提示;对于我们这些有兴趣遵守 SOLID 原则的人。
关于PHP 指定方法的返回类型提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387485/