2013-09-23 28 views
20
aşağıdaki hatayı alıyorum yukarıdaki kodu için
<?php 

namespace Sandbox; 

class Sandbox { 

    private Connectors\ISandboxConnector $connection; 

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

} 

?> 

: Ben bağlantı değişkeni, $ Tür Dayatma ve var_dump kaldırdığınızdaTip ipucu

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

, bu private Sandbox\Sandbox değil Sandbox\Connectors\ISandboxconnector olacak , niye ya?

+6

burada iki ayrı soruları gibi görünüyor:

class Sandbox { private $connection; 

editörler sahadaki beklenen türünü belgelemek için @var etiket de kullanabilirsiniz kodunuzu anlamanıza yardımcı olmak için. Hayır, bu tip ipucu geçerli değildir; ipucu özelliklerini yazamazsınız. Sorunun bir kısmını indirgemek, diğer kısmı açıklığa kavuşturup daha iyi gösterebilir misiniz? – deceze

+0

Başka ne önerdiğimden emin değilim? İpucu özelliklerini yazamayacağınızı bilmek, bilmem gereken tek şey .. (Eğer cevap verirseniz bunu kabul edeceğim) –

+0

* "Yazım ipucunu ve var_dump bu $ bağlantı değişkenini kaldırdığımda, bu özel olacak. Sandbox \ Sandbox ve Sandbox \ Connectors \ ISandboxconnector değil, neden? "* ← Bu bölüm. – deceze

cevap

26

PHP, alanlardaki ipuçlarını desteklemez. Yani aşağıdaki gibi bir değişken tanımlamak:

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

Çalışmaları. –

+0

PhpStorm'da çalışır. – Phil