1

我正在开发一个 Codeigniter 项目,并想开始使用常量。我知道 Codeigniter 支持全局常量,而且我已经设法在模型的范围内实现它。

在“Baz”模型的开头:

const FOO = 'bar';

模型内部的某处:

echo self::FOO; // prints 'bar'; - OK

但是,当我尝试从模型外部(从控制器或其他模型)调用它时:

echo $this->Baz::FOO;

即使“Baz”模型之前已正确加载了几行,它也会给我一个错误:

... 语法错误,意外的 '::' (T_PAAMAYIM_NEKUDOTAYIM) ...

我知道有一个使用全局常量的选项,但是 IMO 在它们应该只用于特定模型并且很少在它们之外的情况下,它不会跟随全局定义的变量和常量的移动。这就是为什么我想知道是否有任何其他方法可以从模型外部访问这些模型常量?谢谢

4

1 回答 1

0

假设您的模型类名称是Baz_model,您可以访问您的常量,如下所示;

$this->load->model('Baz_model');

echo Baz_model::FOO;

于 2020-12-15T02:40:39.293 回答