[英]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.