2014-08-30 4 views
37

Ich habe die Datatabellen-Bibliothek in meinem Codeigniter-Bibliotheksordner gezündet.PhpStorm Feld, das mit der magischen Methode aufgerufen wird

Einige von Bibliothek-Code

class Datatables 
{ 
    /** 
    * Global container variables for chained argument results 
    * 
    */ 
    protected $ci; 
    protected $table; 
    protected $distinct; 
    protected $group_by; 
    protected $select   = array(); 
    protected $joins   = array(); 
    protected $columns  = array(); 
    protected $where   = array(); 
    protected $filter   = array(); 
    protected $add_columns = array(); 
    protected $edit_columns = array(); 
    protected $unset_columns = array(); 

    /** 
    * Copies an instance of CI 
    */ 
    public function __construct() 
    { 
     $this->ci =& get_instance(); 
    } 

i rief dann die Bibliothek im Modell

class Common_Model extends MY_Model{ 

    function __construct(){ 
     parent::__construct(); 
     $this->load->library('Datatables.php'); 
    } 

dann habe ich versucht, die Bibliotheksfunktionen

function select_fields_joined_DT($data, $PTable, $joins = '', $where = '', $addColumn = '',$unsetColumn='') 
{ 
    /** 
    * 
    */ 
    $this->datatables->select($data); 
    if ($unsetColumn != '') { 
     unset_column($unsetColumn); 
    } 
     $this->datatables->from($PTable); 
    if ($joins != '') { 
     foreach ($joins as $k => $v) { 
      //$this->datatables->join($v['table'], $v['condition'], $v['type']); 
     } 
    } 

    if ($addColumn != '') { 
     $this->datatables->add_column("Actions", $addColumn); 
    } 

    $result = $this->datatables->generate(); 
    return $result; 
} 

und alles funktioniert gut zu nennen, außer dass der phpstorm mich Fehler

zeigt
Field Accessed via magic method 

enter image description here

Ich habe versucht, diesen Fehler mit dem Dokument Kommentare zu entfernen, aber kann nicht herausfinden, wie ich das tun kann .. jede Hilfe geschätzt wird.

+8

Sie müssen sie über '@ property' im PHPDoc-Kommentar deklarieren, der zu dieser Klasse gehört. – LazyOne

Antwort

64

Wenn Sie dies ohne Dokument entfernen möchten Kommentare können Sie deaktivieren diesem Artikel über den Zugriff auf ein Feld über magische Methode, die in

Projekteinstellungen>Inspektionen>PHP>undefiniert gefunden>undefinierte Feld

Notify about access to a field via magic method

+12

Nicht sicher, ob zu lachen oder zu weinen. Ich bin kürzlich von Idea zu phpstorm gegangen und habe dieses Problem erneut gegooglet. Ich habe diese Benachrichtigung gegooglet, um diese SO Frage zu finden. Ich mochte die upvoted Antwort nicht und fand @ LazyOnes Kommentar, um zu sein, nach was ich suchte. Dann erkannte ich, dass diese Antwort meine war ... – chrisan

+0

Ich machte LazyOnes Kommentar zu einer Gemeinschaftsantwort. Fühlen Sie sich frei, hinzuzufügen oder korrigieren Sie die Informationen. –

9

As mentioned by LazyOne in der Frage Kommentare:

Sie haben sie über @property in PHPDoc Kommentar zu erklären, dass zu dieser Klasse gehört.

/** 
* @property string $bar 
*/ 
class Foo { 

    public function __get($name) { 
     if ($name == 'bar') { 
      return 'bar'; 
     } 
     return NULL; 
    } 
} 

Snippet von Dmitry Dulepov des Artikels "Quick tip: magic methods and PhpStorm".

+0

Der Link zum Artikel ist nicht mehr gültig. –

+1

@CraigLondon der Artikel wird nicht benötigt, da alles in der Antwort ist und der Link nur als Quelle zur Verfügung gestellt wurde. Trotzdem habe ich es mit einem Snapshot-Link [wayback machine] (http://archive.org/web/) aktualisiert. –

Verwandte Themen