2013-09-23 8 views
20
<?php 

namespace Sandbox; 

class Sandbox { 

    private Connectors\ISandboxConnector $connection; 

    public function __construct(Connectors\ISandboxConnector $conn) { 
     $this->connection = $conn; 
    } 

} 

?> 

私は次のエラーを取得しています:タイプヒンティング上記のコードの場合

Parse error: syntax error, unexpected 'Connectors' (T_STRING), expecting variable (T_VARIABLE) 

私は、接続変数を$タイプヒンティングとvar_dumpを削除すると、それはprivate Sandbox\SandboxなくSandbox\Connectors\ISandboxconnectorになります、 なぜ?

+6

:あなたは、フィールドの期待されるタイプを文書化する@varタグを使用することができエディタがあなたのコードを理解しやすくするために

class Sandbox { private $connection; 

:だから、以下のように変数を定義します。いいえ、プロパティのヒントは無効です。ヒントプロパティは入力できません。その部分をディスカウントすると、他の部分を明確にし、よりよく説明できますか? – deceze

+0

私は他に何を提案したのでしょうか?ヒントプロパティを入力できないことを知っていることは、私が知る必要があったすべてのものです。(あなたがそれを受け入れると私はそれを受け入れます) –

+0

* "タイプヒントとvar_dumpを$接続変数から削除すると、 Sandbox \ Sandbox \ Sandbox \ Connectors \ ISandboxconnectorではなく、なぜですか? "*←その部分。 – deceze

答えて

26

PHPはフィールドのヒントタイプをサポートしていません。ここでは2つの別々の質問のように思える

class Sandbox { 
    /** @var Connectors\ISandboxConnector */ 
    private $connection; 
+3

Netbeansで動作します。 –

+0

PhpStormで動作します。 – Phil

関連する問題