PhpStorm字段通过魔法访问

我已经点燃了我的codeigniter库文件夹中的数据表库。

库中的一些代码

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(); } 

然后我打电话给图书馆

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

然后我试图调用库函数

 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; } 

一切工作正常,除了phpstorm显示我的错误

 Field Accessed via magic method 

在这里输入图像说明

我试图删除这个错误与文件的意见,但不知道如何做到这一点..任何帮助将不胜感激。

如果你想删除这个没有文档注释,你可以取消选中有关访问一个字段通过神奇的方法 ,在find

项目设置 > 检查 > PHP > 未定义 > 未定义字段

通过神奇的方法通知有关访问字段

正如LazyOne在提问中所提到的 :

你必须通过@property在属于该类的PHPDoc注释中声明它们。

 /** * @property string $bar */ class Foo { public function __get($name) { if ($name == 'bar') { return 'bar'; } return NULL; } } 

摘自Dmitry Dulepov的文章“快速提示:魔法和PhpStorm” 。