基于这个答案:Omnipay how to add new gateway
我尝试为omnipay添加一个新的网关。
我的文件夹结构:
lib/omnipay/newgw/
lib/omnipay/newgw/src/
lib/omnipay/newgw/src/Gateway.php
lib/omnipay/newgw/composer.json
vendor/omnipay/...
...
composer.json在主composer.json中,我有:
{
"require": {
...
"omnipay/omnipay": "dev-master"
...
},
"autoload": {
"psr-0": {
"": "lib/",
"Omnipay\\NewGw\\" : "lib/omnipay"
}
}
}执行编写器更新。
在gateway.php中:
namespace Omnipay\NewGw;
use Omnipay\Common;
use Omnipay\Common\AbstractGateway;
use Omnipay\NewGw\Message\PurchaseRequest;
use Omnipay\NewGw\Message\RefundRequest;
class Gateway extends AbstractGateway{
}当我尝试运行它时:
use Omnipay\Omnipay;
class TestController extends ControllerBase{
public function index(){
$gateway = Omnipay::create('NewGw');
}
}它说找不到类:
Omnipay\Common\Exception\RuntimeException: Class '\Omnipay\NewGw\Gateway' not found我不明白为什么这个类没有被加载。请帮帮忙,谢谢。
发布于 2014-10-29 08:12:03
我自己刚刚创建了一个新的Gateway,我相信你的问题是你正在做一些事情,比如
"psr-0": {
"": "lib/",
"Omnipay\\NewGw\\" : "lib/omnipay"
}它应该是
"Omnipay\\NewGw\\" : "lib/omnipay/src"您正在将新库的名称空间设置为lib/omnypay,但实际上它应该是lib/omnypay/src
https://stackoverflow.com/questions/26179177
复制相似问题