基于CodeIgniter env的MY_类扩展

时间:2018-07-14 16:15:04

标签: php codeigniter codeigniter-3

我正在研究CodeIgniter 3.1.4项目,并且知道我可以使用MY_前缀的库类来扩展系统库。

这很棒,并且可以按预期工作,但是我希望能够根据当前环境或DotEnv值确定使用的类(我已经有一个工作正常的DotEnv库)

生产站点使用服务器“ sendmail”发送电子邮件,我希望能够在开发中使用MailGun(或其他),允许我在发送之前覆盖'to'值以确保安全利用像数据集这样的产品进行开发。

在Laravel中可以完成很多操作,您可以在其中使用.env的{​​{1}}和MAIL_DRIVER=mailgun将所有出站邮件强制发送到一个地址进行开发。

em>

我肯定这是有可能的,但是我对CI缺乏经验以及应该在框架中实现这一点的经验让我失望了。

1 个答案:

答案 0 :(得分:0)

答案实际上在Vickel发送的链接中。您可以覆盖每个域/环境的配置文件 ,因此可以在其他config.php文件中将MY_前缀更改为YOUR_前缀。

操作方法(引用但已调整):

  

创建目录application / config / not_my_environment /

     

将现有的config.php复制到上述目录中

     

编辑application / config / not_my_environment / config.php,使其包含您的生产设置

根据htaccess SetEnv变量设置环境常量(我刚才在这里发布了一个非常相似的答案:Maintain the same project within multiple sub-domains),然后您就可以在每个域中更改文件了。

一旦运行完自定义的按部署的配置文件集,就可以将前缀设置为所需的值,因此有多个基于MY_,YOUR_,ANY_前缀的类将覆盖CI默认值。