通过魔术方法访问的 PhpStorm 字段

标签 php codeigniter 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();
    }

然后我调用了model中的库

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

enter image description here

我尝试使用文档注释来消除此错误,但不知道该怎么做.. 任何帮助将不胜感激。

最佳答案

编辑:仅仅因为我一直对此表示赞同,所以我想在这个答案前加上一个警告。我继承了一个旧项目,我不会长期从事该项目,也不会为正确输入所有内容而获得报酬。我认为以下是核选项,并且只会在类似条件下这样做。如果这是您拥有的项目或至少将长期工作,尤其是在现代 PHP 7/8 及以后的时代,请不要这样做,而是使用实际类型或至少一个 docblock 来整理您的代码: ) 原始答案如下。

如果您想在没有文档注释的情况下删除它,您可以取消选中 Notify about access to a property via magic method,该方法位于

项目设置> 检查> PHP> 未定义> 未定义属性

Notify about access to a field via magic method

PhpStorm preferences screenshot

关于通过魔术方法访问的 PhpStorm 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25578649/

相关文章:

php - Codeigniter Activerecord 更新方法拒绝插入 NULL 值

mysql - (codeigniter) 将多行数据从文件添加到mysql数据库?

php - 如何安装 php-cgi?我尝试了 MacPort、Package 和其他一切,但都没有用

ubuntu-14.04 - 双击 PhpStorm 选择带有破折号的文本

mysql - 这个节目里有什么

java - Android HttpURLConnection POST 不工作。

php - 上传 codeigniter 项目时 cpanel 中出现数据库错误

php - 如何计算列中相同结果的数量?

php - Doctrine2 oneToOne 复合主键不可为空

symfony - Sensio Framework Extra Bundle 问题