Я пытаюсь добавить элементы в merchant.php
(файл конфигурации библиотеки CI-Merchant, который, как я полагаю, автоматически загружается CodeIgniter). Я хочу иметь возможность устанавливать параметры для шлюза оплаты (драйвера), который я выбираю в настройках, поэтому мне не нужно записывать его в каждом контроллере, который вызывает библиотеку/драйвер, и я не хочу жестко указывать настройки в драйвере.Как правильно использовать конфигурационный файл библиотеки CI-Merchant
Эти настройки я пытаюсь сохранить, но я мог бы другим с различными шлюзами:
$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-Торговца?
- Если нет, есть ли способ иметь файлы конфигурации, специфичные для драйвера, в CodeIgniter?
Спасибо Adrian. Я закончил тем, что вместо этого использовал библиотеку CIMM Authorize.net. Я видел Omnipay раньше и как это, но я не знал, насколько хорошо он интегрирован с CodeIgniter, поскольку информации об этом не было. Я вижу, что вы являетесь вкладчиком Omnipay, планируете ли вы создать библиотеку для CI для тех из нас, кто не знаком с Composer. – doitlikejustin
Я являюсь автором обеих библиотек :). Очень просто использовать композитор с помощью codeigniter, я бы рекомендовал просто использовать это вместо написания кода, специфичного для CI. Композитор сделает вашу жизнь намного лучше :) –
Я проверю это на своем следующем проекте. Благодаря! – doitlikejustin