2

私は 10 月 CMS のプラグインに取り組んでおり、Omnipayを使用します。私は調査を行い、Omnipay ライブラリと Laravel をignited/omnipayおよびbarryvdh/laravel-omnipayとして統合するパッケージをいくつか見つけました。この手順に従って両方を試しました(すべてプラグインディレクトリにあります):

  • composer.jsonファイルを作成し、これを追加します。

    {
        "name": "BalanceRecharge Plugin",
        "email": "webmaster@root.com",
        "require": {
            #in this case I'm using barryvdh/laravel-omnipay
            "barryvdh/laravel-omnipay": "0.1.*", 
            "omnipay/omnipay": "*"
        }
    }
    
  • composer updateライブラリと依存関係を更新するために実行します。すべて問題ありません

  • 'Barryvdh\Omnipay\ServiceProvider'プロバイダーに追加します。

    'providers' => array_merge(include(base_path().'/modules/system/providers.php'), array(
    
        // 'Illuminate\Html\HtmlServiceProvider', // Example
    
        'System\ServiceProvider',
        'Barryvdh\Omnipay\ServiceProvider',
    )),
    
  • 次に、コマンドを実行しようとしますphp artisan config:publish barryvdh/laravel-omnipayが、以下のエラーが発生します。

PHP 致命的なエラー: クラス 'Barryvdh\Omnipay\ServiceProvider' が /var/www/html/alomicuba/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php 行 157 に見つかりません PHP スタック トレース: PHP 1. { main}() /var/www/html/alomicuba/artisan:0 PHP 2.require_once() /var/www/html/alomicuba/artisan:30 PHP 3.require() /var/www/html/alomicuba/bootstrap /start.php:57 PHP 4. Illuminate\Foundation\ProviderRepository->load() /var/www/html/alomicuba/vendor/laravel/framework/src/Illuminate/Foundation/start.php:210 PHP 5. Illuminate\ Foundation\ProviderRepository->compileManifest() /var/www/html/alomicuba/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:57 PHP 6. Illuminate\Foundation\ProviderRepository->createProvider() /var/www/html/alomicuba/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:121

私が間違っていることは何ですか?プロバイダーを登録する正しい方法は何ですか?

4

1 に答える 1

2

プラグインでlaravelパッケージを使用したい場合は、サービスプロバイダーとエイリアスをplugin.phpに登録する必要があります

プラグイン サービス プロバイダーを登録 する Plugin.php の boot() メソッドに、以下を追加します。

\App::register('\Third\Party\ServiceProvider');.

これは、サードパーティの ServiceProvider を自動的に登録する方法です。

Plugin.php の boot() メソッドで ServiceProvider 行の下にエイリアスを登録します。エイリアス を追加する必要がある場合は、

$alias = \Illuminate\Foundation\AliasLoader::getInstance()->alias('YourAlias', 'Third\Party\Facade');

このリンクを確認してくださいhttps://github.com/Shahiem/CKeditor-plugin/blob/master/Plugin.php#L53

于 2014-10-04T18:39:46.020 に答える