我正在做一个Codeigniter项目,想开始使用常量。我知道Codeigniter支持全局常量,并且我已经设法在模型范围内实现了它。
在"Baz"模型的开头:
const FOO = 'bar';
模型内部的某个地方:
echo self::FOO; // prints 'bar'; - OK
但是,当我尝试从模型外部(从控制器或其他模型)调用它时:
echo $this->Baz::FOO;
尽管"Baz"模型之前被正确加载了几行,但它给我抛出了一个错误:
。语法错误,意外的"::"(T_PAAMAYIM_NEKUDOTAYIM)...
我知道有一个使用全局常量的选项,但 IMO 它不会遵循远离全局定义的变量和常量的情况,因为它们应该仅用于特定模型,很少用于它们之外。这就是为什么我想知道是否有其他方法可以从模型外部访问这些模型常量?谢谢
假设你的模型类名是 Baz_model
,你可以像下面这样访问你的常量;
$this->load->model('Baz_model');
echo Baz_model::FOO;