【问题标题】:Laravel Omnipay with Omnipay/Paypal - Class not foundLaravel Omnipay 与 Omnipay/Paypal - 找不到类
【发布时间】:2014-03-29 21:31:15
【问题描述】:

我正在尝试将 Omnipay Paypal 包与我的 Laravel 4.1 应用程序集成。我已按照 Omnipay 的建议安装了 laravel-omnipay package,并按照说明进行了设置。

我已将 laravel-omnipay 包添加到 Laravel 的 app.php 文件中的 providers 数组和 aliases 数组中。配置文件也已创建。

我的 composer.json 有以下要求:

"ignited/laravel-omnipay": "1.*",
"omnipay/paypal": "~2.0"

ignited/laravel-omnipay 的配置文件如下所示:

<?php

return array(

    // The default gateway to use
    'default' => 'paypal',

    // Add in each gateway here
    'gateways' => array(
        'paypal' => array(
            'driver' => 'Paypal_Express',
            'options' => array(
                'solutionType' => '',
                'landingPage' => '',
                'headerImageUrl' => ''
            )
        )
    )
);

但是当我打电话给$gateway = Omnipay::gateway('paypal'); 时,我得到了错误

找不到类“\Omnipay\Paypal\ExpressGateway””

有什么我忘记了吗? :我

【问题讨论】:

    标签: php paypal laravel laravel-4 omnipay


    【解决方案1】:

    我不熟悉ignited/laravel-omnipay,所以这可能是也可能不是问题,但您可以尝试修复此行的大写:

    'driver' => 'PayPal_Express',
    

    (注意 PayPal 有两个大写的 P)。

    PHP 中的类名一般不区分大小写,但如果您使用区分大小写的文件系统,则 composer 自动加载器将无法找到正确的类。

    【讨论】:

      【解决方案2】:

      尝试 composer dumpautoload 加载新类。

      更新:

      考虑一下新软件包为您的应用程序提供的服务条款。查找链接到应用程序的服务在哪里。它通常通过 ServiceProviders 类完成。如果没有错误,应该很容易,按照简单的业务规则来查看提供程序与主应用程序的关系。 因此,您有一个实体(提供者)应该与另一个实体(提供者)进行通信。 这种沟通是通过简单的规则完成的。这是学习 Laravel 的最佳方式。它有助于从业务规则的角度进行思考,而不是盯着通常非常抽象的代码。

      【讨论】:

      • 你找到解决办法了吗?
      • laravel 全方位支付集成信息很难找到。即使是 github 页面也很难获得。这是一个 laravel omnipay paypal 的实现。 goo.gl/HEfbrY
      猜你喜欢
      • 2014-12-22
      • 2017-03-25
      • 2014-05-14
      • 2015-02-13
      • 2016-05-23
      • 2016-03-07
      • 2014-01-24
      • 2016-07-14
      • 2015-01-06
      相关资源
      最近更新 更多