【问题标题】:How to properly use the CI-Merchant library's config file如何正确使用 CI-Merchant 库的配置文件
【发布时间】:2013-08-30 22:27:52
【问题描述】:

我正在尝试将项目添加到 merchant.phpCI-Merchant 库的配置文件,我相信它是由 CodeIgniter 自动加载的)。我希望能够设置我在设置中选择的支付网关(驱动程序)的设置,这样我就不必在每个调用库/驱动程序的控制器中写出来,我不想硬编码驱动程序中的设置。

这些是我要保存的设置,但我可以让其他设置具有不同的网关:

$config['authorize_net']['api_login_id'] = '***';
$config['authorize_net']['transaction_key'] = '***';
$config['authorize_net']['test_mode'] = TRUE;
$config['authorize_net']['developer_mode'] = TRUE;

但是,这会导致 2 个警告。第一个:

A PHP Error was encountered
Severity: Warning
Message: stripos() expects parameter 1 to be string, array given
Filename: libraries/merchant.php
Line Number: 97

第二个:

A PHP Error was encountered
Severity: Warning
Message: strtolower() expects parameter 1 to be string, array given
Filename: libraries/merchant.php
Line Number: 103

所以在我看来,CodeIgniter 会自动将 merchant.php 配置文件传递给库,但它并不期待它(这也让我感到困惑,因为在 CI-Merchant 下载中它带有配置文件)。

我最坏的情况是更改merchant_authorize_net.php 中的“默认设置”,但我真的想避免这种情况,下面是默认设置功能的样子。

public function default_settings()
{
    return array(
        'api_login_id' => '',
        'transaction_key' => '',
        'test_mode' => FALSE,
        'developer_mode' => FALSE,
    );
}

我的问题是:

  • 是否有正确的方式使用 CI-Merchant 的配置文件?
  • 如果没有,有没有办法在 CodeIgniter 中拥有特定于驱动程序的配置文件?

【问题讨论】:

    标签: codeigniter codeigniter-2 ci-merchant


    【解决方案1】:

    配置文件实际上只是作为样板代码存在,可能应该被删除。 CI-merchant 本身并没有任何逻辑来自动为您读取配置文件。

    通常推荐的方法是将设置存储在您自己的配置文件(或环境变量)中,然后在您的控制器中使用这些设置来初始化库。您说得对,最好尽量避免编辑库文件夹中的任何内容。

    如果您正在开始一个新项目,我还建议您查看Omnipay,CI-Merchant 的继任者,因为 CI-Merchant 将不会接受任何进一步的开发。

    【讨论】:

    • 谢谢阿德里安。我最终只使用了 Authorize.net CIM 库。我以前看过 Omnipay 并喜欢它,但我不知道它与 CodeIgniter 的集成程度如何,因为没有关于它的信息。我看到您是 Omnipay 的贡献者,您是否打算为我们这些不熟悉 Composer 的人创建一个 CI 库。
    • 我是这两个库的作者 :) 将 composer 与 codeigniter 一起使用非常简单,我建议只使用它而不是编写任何特定于 CI 的代码。作曲家会让你的生活变得更好:)
    • 我会在我的下一个项目中查看它。谢谢!
    猜你喜欢
    • 2016-04-13
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    相关资源
    最近更新 更多