2014-10-04 21 views
2

我正在爲OctoberCMS開發一個插件,並將使用Omnipay。我已經完成了一項研究,並找到了一些將Omnipay庫與Laravel整合爲ignited/omnipaybarryvdh/laravel-omnipay的軟件包。在OctoberCMS中使用OmnipayCMS插件

  • 創建一個composer.json文件,加入::我通過以下(所有的插件目錄)這個步驟嘗試他們兩人

  • 運行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 Fatal error: Class 'Barryvdh\Omnipay\ServiceProvider' not found in /var/www/html/alomicuba/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 157 PHP Stack trace: 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

我做錯了什麼?什麼是註冊提供商的正確方法?

回答

2

,如果你想使用laravel包的插件,你必須註冊在plugin.php

服務提供商和別名註冊的插件服務提供商 在你Plugin.php的引導()方法中,添加

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

這是您如何自動註冊第三方ServiceProvider。

註冊在任何的ServiceProvider行任何別名的 在你Plugin.php的引導()方法,如果再需要添加一個別名是可以做到與

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

檢查此鏈接https://github.com/Shahiem/CKeditor-plugin/blob/master/Plugin.php#L53

相關問題