您不必与处理数据库配置文件有任何不同的处理方式。
首先,创建application/config/paypal.php:
// Change this information to match your settings
//$config['paypal_seekrit'] = '';
// whatever else
注意,像这样创建它只是,因为您最初将作为存根跟踪它。添加并提交:
git add application/config/paypal.php
git commit
现在,将其添加到 .gitignore,以便不再在本地对其进行跟踪。添加并提交.gitignore。然后,在您的代码中,您需要执行以下操作以确保人们记得正确设置:
$this->load->config('paypal');
$seekrit = $this->config->item('paypal_seekrit');
if ($seekrit === FALSE) {
// config->item returns FALSE by default if item doesn't exist
log_message('error', 'You need to configure config/paypal.php!');
// bail out, if appropriate
show_error('Paypal keys have not been configured');
}
此时你可以推送了。现在每个人都有一个文件存根,任何人在他们最后做的任何事情都不会有被推回的危险。缺点是,如果您需要更改默认存根以添加或删除选项,您(和其他所有人)将需要合并。但是,这是一个微不足道的文件,我不认为这是一个问题。
然后,将您的密钥添加到文件中,而不必担心意外提交和推送它们。请注意,如果在库中使用它,您首先必须调用 get_instance() 以获取框架超级对象(单例),例如:
$CI = get_instance();
$CI->load->config('paypal');
$seekrit = $CI->config->item('paypal_seekrit');
...
我在一个新的 CI 项目上做的第一件事就是提交 application/,然后停止跟踪 application/config 中的某些文件。
您也可以只为站点特定设置创建一个覆盖所有先前加载的配置的捕获所有配置文件并将其粘贴在那里(类似于config/appname.php)。只需确保以配置/加载器类的工作方式工作,就像人们期望它们工作的那样。