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” 。