2014-10-04 69 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