属性在 CodeIgniter 中动态加载。
如何让编辑知道它应该被允许?
如果您知道要使用的动态属性的完整列表,您可以将它们添加为@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;