Netbeans Intellisense PHP Iterator Arayüzü

0 Cevap php

Ben Netbeans 6.9 kullanıyorum ve Iterator arabirimini uygulayan bir PHP sınıfı yazıyorum. Benim nesne öğeleri üzerinde yineleme gibi IDE teklifi Intellisense istiyorum. Ben bir Zend_Db_Rowset üzerinde yineleme zaman ben bir Zend_DB_Row için intellisense olsun fark ettik gibi Zend Framework için çalışmak gibi görünüyor. Örneğin, ben yazarken:

foreach($rowset as $row) {
  $row->delete();
}

Ben "$ satır->" yazdığınızda Netbeans Zend_Db_Row_Abstract üye fonksiyonlar için kod ipuçlarını açılır. Ne yazık ki, bu benim kendi kod çalışmak için alınamıyor. Aşağıda işe almak için çalıştım bir örnek:

class Foo {

    private $value;

    /**
     *
     * @param string $value
     */
    public function setValue($value) {
        $this->value = $value;
    }

    /**
     *
     * @return string
     */
    public function getValue() {
        return $this->value;
    }

}

class It implements Iterator {

    private $data;

    public function __construct($data) {
        $this->data = $data;
    }

    /**
     *
     * @return Foo
     */
    public function current() {
        return current($this->data);
    }

    /**
     *
     * @return Foo
     */
    public function key() {
        return key($this->data);
    }

    /**
     *
     * @return Foo
     */
    public function next() {
        return next($this->data);
    }

    /**
     *
     * @return Foo
     */
    public function rewind() {
        return reset($this->data);
    }

    /**
     *
     * @return bool
     */
    public function valid() {
        return key($this->data) !== null;
    }

}

$a = new Foo();
$b = new Foo();
$a->setValue('Hello');
$b->setValue('Bye');
$testData = array($a, $b);
$myIt = new It($testData);
foreach ($myIt as $obj) {
    echo $obj->getValue();
}

Garip intellisense bunu düşünmek istediğiniz zaman $ obj türü Bu bir nesnedir (ve aslında) tipi Foo bir nesne düşünüyor.

0 Cevap