CodeIgniter + omnipay установка
Раньше я пользовался ci-merchant, но из всего видно, что его "V2" теперь omnipay. Я использую codeigniter, и я изо всех сил пытаюсь заставить пример работать.
Я установил omnipay без проблем, и в моем контроллере есть следующее:
use Omnipay\Common\GatewayFactory;
class Homepage extends BC_basecontroller {
public function index()
{
$gateway = GatewayFactory::create('PayPal_Express');
$gateway->setUsername('adrian');
$gateway->setPassword('12345');
}
}
Вот пример здесь: https://github.com/adrianmacneil/omnipay
Однако я получаю ошибку:
PHP Fatal error: Class 'Omnipay\Common\GatewayFactory' not found in......
Кто-нибудь знает, как заставить его работать в CI?
2 ответа
Я не уверен, как вы установили Omnipay, но вам нужно использовать Composer для загрузки классов, прежде чем вы сможете их использовать.
Поэтому, следуя инструкциям по установке Omnipay, добавьте это в composer.json
файл в вашем корневом каталоге:
{
"require": {
"omnipay/omnipay": "*"
}
}
Затем установите файлы:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Теперь, если вы используете CodeIgniter, вам нужно настроить его на включение автозагрузчика композитора. В основном, просто добавьте эту строку в верхней части вашего index.php
файл:
require_once __DIR__.'/vendor/autoload.php';
Здесь также есть руководство по использованию Composer с CodeIgniter, которое может оказаться вам полезным: http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniter
У меня была такая же ошибка и я исправил ее загрузкой vendor/autoload.php
до application/core/CodeIgniter.php