簡體   English   中英

Laravel Omnipay與Omnipay / Paypal - 未找到類

[英]Laravel Omnipay with Omnipay/Paypal - Class not found

我正在嘗試將Omnipay Paypal軟件包與我的Laravel 4.1應用程序集成。 我按照Omnipay的建議安裝了laravel-omnipay軟件包 ,並按照如何設置它的說明進行操作。

我已經將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”類

有什么我忘了嗎? :一世

我並不熟悉ignited/laravel-omnipay ,所以這可能是也可能不是問題,但你可以嘗試在這一行修復大寫:

'driver' => 'PayPal_Express',

(請注意,PayPal有兩個大寫P')。

通常類名在PHP中不區分大小寫,但如果您使用區分大小寫的文件系統,則composer自動加載器將無法找到正確的類。

嘗試使用composer dumpautoload加載新類。

更新:

在新軟件包提供給您的應用程序的服務期限內思考。 找到與應用程序關聯的服務的位置。 它通常通過ServiceProviders類完成。 如果沒有錯誤,那么應該很容易,遵循簡單的業務規則,看看提供商如何與主應用程序相關。 所以,你有一個實體(提供者)應該與另一個實體進行通信。 這種溝通是通過簡單的規則完成的。 這是學習Laravel的最佳方式。 它有助於從業務規則的角度思考,而不是盯着通常非常抽象的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM