Symfony2:使用github项目(带名称空间)作为供应商包

时间:2015-04-30 08:09:42

标签: php symfony

我想在symfony2项目中使用这个php类:
https://github.com/Moinax/TvDb

完全像FosUserBundle:
https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md

我设法通过我的供应商目录中的composer安装包:

composer moinax/tvdb  

我现在需要做什么? 请注意我的文件夹结构(由作曲家自动创建)现在是:

vendor/moinax/tvdb/(content of the github project)

注意:
在简单的PHP(没有Symfony2)中,这是最基本的用法示例的代码:

// examples/index.php (look at the github project for folder structure)    
include __DIR__ . '/settings.php';
include __DIR__ . '/../src/Moinax/TvDb/Http/HttpClient.php';
include __DIR__ . '/../src/Moinax/TvDb/Http/CurlClient.php';
include __DIR__ . '/../src/Moinax/TvDb/CurlException.php';
include __DIR__ . '/../src/Moinax/TvDb/Client.php';
include __DIR__ . '/../src/Moinax/TvDb/Serie.php';
include __DIR__ . '/../src/Moinax/TvDb/Banner.php';
include __DIR__ . '/../src/Moinax/TvDb/Episode.php'; 

use Moinax\TvDb\Client;
$apiKey = 'YOURAPIKEY';

$tvdb = new Client("http://thetvdb.com", $apiKey);
$tvdb->getSerie(75710);

我想在AcmeDemoBundle的控制器中做同样的事情......换句话说:从AcmeDemoBundle中的DefaultController,我想根据moinax /中定义的类创建一个$tvdb = new Client("http://thetvdb.com", $apiKey);对象tvdb脚本保存为供应商。

1 个答案:

答案 0 :(得分:1)

我认为我对这个问题的回答会对你有所帮助:
How to register path in autoload using a single instance.

基本上您希望包含vendor/autoload.php文件,但您可能还希望将composer配置为自动加载项目源目录以及供应商。