我有一个常量列表(我将它们用作枚举),一些是定义语句,有些只是全局变量.
我想在哪里将它们放在MVC框架中,以便我可以将它们用于我的模型和需要引用它的控制器?
我宁愿不把它粘在config/constants.php中,因为除了这个模型和使用它的控制器之外不应该调用它们.
编辑1:澄清
更具体地说,我有我的message_model模型,它有一堆我需要存储的常量message_model_constants.php.我应该放在哪里message_model_constants.php,是否有一种方法让控制器自动包含它,message_model当message_model不是(我不希望它)自动加载时加载.
编辑2:
除了我使用模型时,我真的不想自动加载常量
小智 5
转到application/config/constants.php并定义你的常量,你可以在CI的模型 - 视图 - 控制器上使用你的常量,不包括"助手"和"库"
但在你的情况下,我更喜欢你创建一个包含常量的php文件,并将其重命名为my_constants_helper.php.
在你的模型或控制器__construct只
$this->load->helper('my_constants');
Run Code Online (Sandbox Code Playgroud)
万岁,你可以访问他们=)
扩展 Brennan Novak 的答案,您可以通过在模型构造函数中加载配置文件来简化代码。这样,您只需将模型加载到控制器中,其他一切都会自动完成。
模型
class Message_model extends Model {
function __construct()
{
parent::Model();
$this->load->config('message_model_constants');
}
...
}
Run Code Online (Sandbox Code Playgroud)
控制器
class Some_controller extends Controller {
function __construct()
{
parent::Controller();
$this->load->model('message_model');
}
...
}
Run Code Online (Sandbox Code Playgroud)
如前所述,您的配置文件应该是 application/config/message_model_constants.php
| 归档时间: |
|
| 查看次数: |
9626 次 |
| 最近记录: |