在laravel 5

时间:2015-04-27 09:05:50

标签: laravel instance bind autoload

尝试使用非Laravel包:https://packagist.org/packages/luceos/on-app

编辑composer.json要求它并完成作曲家安装,更新,然后转储自动加载-o。

此软件包需要初始化:vendor / luceos / on-app / src / OnAppInit.php

哪个不是一个类,只有一个方法。但是当我尝试在服务提供者中绑定它时似乎没有加载它。云的版本是在OnAppInit.php中启动的,但是没有这样做,所以当然不会出现“版本不受支持”的错误。

我知道我错过了一个小细节,却找不到它。也许在服务提供商?

composer.json

"require": {
    "luceos/on-app": "~3.5"
"autoload": {
    "psr-4": {
        "Luceos\\OnApp\\": "vendor/luceos/on-app/src/"

配置/ app.php

'providers' => [
    'App\Providers\OnAppServiceProvider',

应用程序/提供者/ OnAppServiceProvider.php

public function register()
    {
            $this->app->bind('onapp', function($app)
                {
                    $hostname = 'http://cloud';
                    $username = 'email@foo.com';
                    $password = 'api_key';
                    $factory = new \OnApp_Factory($hostname, $username, $password);
                    $setting = $factory->factory('Settings')->getList();
                    return $setting;
                });
    }

看起来像那里...... 供应商/作曲家/ autoload_files.php

$vendorDir . '/luceos/on-app/src/OnAppInit.php',

供应商/作曲家/ autoload_psr4.php

'Luceos\\OnApp\\' => array($vendorDir . '/luceos/on-app/src'),

1 个答案:

答案 0 :(得分:3)

关于Guzzle问题: 只需将它包含在composer.json文件中:

"guzzlehttp/guzzle": "~5.0"

然后只使用正常的

$client = new GuzzleHttp\Client();

不要忘记composer dump-autoload