首页 > 解决方案 > 如何让编辑器了解动态属性?

问题描述

属性在 CodeIgniter 中动态加载。

如何让编辑知道它应该被允许?

在此处输入图像描述

在此处输入图像描述

标签: codeigniterphpstormcodeigniter-3php-ide

解决方案


如果您知道要使用的动态属性的完整列表,您可以将它们添加为@property类的 docblock 注释,格式为@property type name description.

典型的用例是类实现__get延迟加载数据的地方,或者在您的情况下由框架注入依赖项。

/**
 * @property FormValidation form_validation Form validation object injected by CodeIgniter
 */
class Example {
    public function foo() {
        $this->form_validation->set_rules('blah', 'blah', 'blah');
    }
}

请注意,这些魔法属性假定是继承的,并且是公共的,因此以下内容不会显示警告:

// Using magic property in child class
class ExampleChild extends Example {
    public function somethingElse() {
        $this->form_validation->set_rules('something', 'else', 'entirely');
    }
}

// Using magic property from outside class
$foo = new Foo;
$fv = $foo->form_validation;

推荐阅读