如何将来自 Packagist 的包集成到 Laravel 5 中?
How to integrate in Laravel 5 a Package from Packagist?
我正在使用 laravel 5 并尝试集成以下包:
exacttarget/fuel-sdk-php
我执行了我的项目:
composer require exacttarget/fuel-sdk-php
所以我在供应商目录中找到了 exacttarget provider。
首先我注意到这个特定的包不使用命名空间,所以它仍然调用 require 指令而不是 "use \path\namespace"
这是正确的方法吗?我还没有看到很多包,但根据我过去的经验,我认为编写包的方法不正确...
在此之后我编辑 condif/app.php 以使用 ET_Client class.
'providers' => [
...
'ET_Client',
...
],
执行此操作后,出现错误:看起来 Laravel frmwk 试图实例化 class,这需要一些参数才能工作,即使我尚未使用它(实例化)。这是 Laravel?
的正常行为
我是不是漏掉了什么?
providers
数组用于注册服务提供者classes。除非 ET_Client
扩展 Laravel 的基础 ServiceProvider
class,否则它不会工作。
相反,只需在需要使用 class:
时将 use
语句添加到 PHP classes
<?php
namespace App\Http\Controllers;
use ET_Client;
class SomeController extends Controller
{
public function someAction()
{
// Instantiate client class
$client = new ET_Client;
// Now do something with it...
}
}
我正在使用 laravel 5 并尝试集成以下包: exacttarget/fuel-sdk-php
我执行了我的项目:
composer require exacttarget/fuel-sdk-php
所以我在供应商目录中找到了 exacttarget provider。
首先我注意到这个特定的包不使用命名空间,所以它仍然调用 require 指令而不是 "use \path\namespace" 这是正确的方法吗?我还没有看到很多包,但根据我过去的经验,我认为编写包的方法不正确...
在此之后我编辑 condif/app.php 以使用 ET_Client class.
'providers' => [
...
'ET_Client',
...
],
执行此操作后,出现错误:看起来 Laravel frmwk 试图实例化 class,这需要一些参数才能工作,即使我尚未使用它(实例化)。这是 Laravel?
的正常行为我是不是漏掉了什么?
providers
数组用于注册服务提供者classes。除非 ET_Client
扩展 Laravel 的基础 ServiceProvider
class,否则它不会工作。
相反,只需在需要使用 class:
时将use
语句添加到 PHP classes
<?php
namespace App\Http\Controllers;
use ET_Client;
class SomeController extends Controller
{
public function someAction()
{
// Instantiate client class
$client = new ET_Client;
// Now do something with it...
}
}