Ger*_*obs 30 php oop type-hinting
<?php
namespace Sandbox;
class Sandbox {
private Connectors\ISandboxConnector $connection;
public function __construct(Connectors\ISandboxConnector $conn) {
$this->connection = $conn;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
对于上面的代码我收到以下错误:
Parse error: syntax error, unexpected 'Connectors' (T_STRING), expecting variable (T_VARIABLE)
Run Code Online (Sandbox Code Playgroud)
当我删除类型提示和var_dump$连接变量时,它将是,private Sandbox\Sandbox而不是Sandbox\Connectors\ISandboxconnector,为什么?
Vah*_*aji 41
PHP不支持字段上的类型提示.所以定义一个变量如下:
class Sandbox {
private $connection;
Run Code Online (Sandbox Code Playgroud)
为了帮助编辑理解您的代码,您可以使用@var标记来记录字段的预期类型:
class Sandbox {
/** @var Connectors\ISandboxConnector */
private $connection;
Run Code Online (Sandbox Code Playgroud)