簡體   English   中英

Netbeans動態屬性自動完成

[英]Netbeans Dynamic Property Auto-Complete

我正在編寫一個框架,並且有一部分將MySQL類加載到這樣的數組中:

protected $db = array();
....
public function __construct(){
    $this->db   = (object)$this->db;
}
....
private function setupDatabases(){
    if(isset($this->config["databases"])){
        foreach($this->config["databases"] as $name => $data){
            $this->db->$name = $this->mysql->init($this->config);
            $this->db->$name->setConnectionParams($data);
        }
    }
}

我想在代碼中添加一些phpDoc,以便自動完成功能將建議該類中的方法列表: $this->db->localhost->

我嘗試了不同的方法來執行此操作,但它們不起作用。 我可以在其中使用某種phpDoc標記嗎? 這有可能嗎?

我認為您需要將$ db屬性本身包裝到一個類中。 這樣,$ db-> localhost成為一個類屬性,您可以通過VAR標簽( @var MyDbClass )將數據類型賦予該屬性。

看來您必須在父類中設置變量才能使代碼完成傳遞。 如果可以在不預先設置變量的情況下完成此操作,請回答此問題

<?php
/**
 * This is a parent class.
 * 
 * @package Examples/doubledVars
 */
class parentExample 
{   
    public $cc;
    // notice^ <------------------------------------------------------SEE ME

    /**
     * A basic contructor
     */
    public function __construct() 
    { 
        echo '::PE Class initiated::';  
        $this -> c = 'we are value "c"  in the parent class'; 
    }
} 


/**
 * This is an Example of no doubling occuring due to __construct()
 * @see noDouble
 * 
 * @package Examples/codeCompletion
 */
class codeCompletion extends parentExample 
{  
    /**
     * @see noDouble::__construct()
     */
    public function __construct() 
    { 
        //empty constructor prevents doubling
    }


    public function getC() 
    { 
        return $this -> c; 
    } 
}



$parentExampleCC = new parentExample;

$parentExampleCC->cc = new codeCompletion;

echo $parentExampleCC->cc->getC();//CC working <------------SEE ME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM