为方法指定返回类型提示的正确语法是什么?
例如,我有这样一个方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
我想,每当我调用上述方法时,IDE都会向我展示PDO的方法.
如何添加类型提示?
Jos*_*iah 23
在Aptana,PDT,Zend Studio和其他IDE中,您可以为php方法添加类型提示,如下所示:
/**
* Constructs a new PDO Object and returns it
*
* @param string $dbname name of the database to connect to
* @return PDO connection to the database
*/
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;
}
Run Code Online (Sandbox Code Playgroud)
类名放在文档块的@return属性之后,表示方法的返回类型.例如,对于示例方法,PDO是返回的类名.附加说明"与数据库的连接"用于向其他开发人员提供返回值的有意义的描述,这不是必需的,但建议使用.
以这种方式记录您的PHP方法的一个好处是,您可以使用phpDocumentor或doxygen生成文档.
AAR*_*RTT 21
为了将来参考,这是针对PHP 7实现的,具有以下语法(引自源代码):
function foo(): array {
return [];
}
Run Code Online (Sandbox Code Playgroud)
要回答您的问题,从PHP 7(2015年底发布)开始,您将能够执行以下操作(作为示例):
<?php
function ConstructPDOObject($hostname, $dbname, $username, $password): PDO
{
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
return $dbh;
}
Run Code Online (Sandbox Code Playgroud)
该规范还允许在接口内和接口上进行类型提示; 对于我们这些有兴趣遵守SOLID原则的人.
来源和更多信息:https://wiki.php.net/rfc/return_types
| 归档时间: |
|
| 查看次数: |
17987 次 |
| 最近记录: |