首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Omnipay添加新网关

Omnipay添加新网关
EN

Stack Overflow用户
提问于 2014-10-03 20:44:53
回答 1查看 1.1K关注 0票数 3

基于这个答案:Omnipay how to add new gateway

我尝试为omnipay添加一个新的网关。

我的文件夹结构:

代码语言:javascript
复制
lib/omnipay/newgw/
lib/omnipay/newgw/src/
lib/omnipay/newgw/src/Gateway.php
lib/omnipay/newgw/composer.json

vendor/omnipay/...
...
composer.json

在主composer.json中,我有:

代码语言:javascript
复制
{
    "require": {
        ...
        "omnipay/omnipay": "dev-master"
        ...
    },
    "autoload": {

        "psr-0": { 
            "": "lib/", 
            "Omnipay\\NewGw\\" : "lib/omnipay"
        }
    }
}

执行编写器更新。

在gateway.php中:

代码语言:javascript
复制
namespace Omnipay\NewGw;

use Omnipay\Common;
use Omnipay\Common\AbstractGateway;
use Omnipay\NewGw\Message\PurchaseRequest;
use Omnipay\NewGw\Message\RefundRequest;


class Gateway extends AbstractGateway{

}

当我尝试运行它时:

代码语言:javascript
复制
use Omnipay\Omnipay;

class TestController extends ControllerBase{

 public function index(){
   $gateway = Omnipay::create('NewGw');
 }

}

它说找不到类:

代码语言:javascript
复制
Omnipay\Common\Exception\RuntimeException: Class '\Omnipay\NewGw\Gateway' not found

我不明白为什么这个类没有被加载。请帮帮忙,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-10-29 08:12:03

我自己刚刚创建了一个新的Gateway,我相信你的问题是你正在做一些事情,比如

代码语言:javascript
复制
   "psr-0": { 
            "": "lib/", 
            "Omnipay\\NewGw\\" : "lib/omnipay"
        }

它应该是

代码语言:javascript
复制
"Omnipay\\NewGw\\" : "lib/omnipay/src"

您正在将新库的名称空间设置为lib/omnypay,但实际上它应该是lib/omnypay/src

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26179177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档