如何在extbase 6.2扩展中自动加载第三方库?

时间:2016-12-29 08:09:13

标签: typo3 extbase typo3-6.2.x

我正在尝试在TYPO3 6.2的自定义extbase扩展中嵌入第三方库,以便能够对dropbox进行身份验证。

https://github.com/kunalvarma05/dropbox-php-sdk

由于库应该通过composer安装,我在本地完成了这个并将生成的字段上传到服务器。我现在有以下附加目录:

ext:myext
+Classes
  +vendor
    +composer
    +guzzlehttp
    +kunalvarma05/dropbox-php-sdk/src/Dropbox

Dropbox库的命名空间为Kunnu\Dropbox,主类为Kunnu\Dropbox\DropboxApp;

我期望自动发现该命名空间,因为它位于Classes。 所以我把它嵌入我的控制器中(也试过DI,效果相同)

   namespace STUBR\Myext\Controller;
   use Kunnu\Dropbox\DropboxApp;

后来在班级$app = new \DropboxApp("client_id", "client_secret");

结果:

  

无法分析类:Kunnu \ Dropbox \ DropboxApp可能没有加载或没有自动加载器?

接下来试试;我跟着http://insight.helhum.io/post/130876393595/how-to-configure-class-loading-for-extensions-in(适用于TYPO3 7.x,但也引用了6.x)并尝试了ext_emconf.php中的以下两个变体:

'autoload' => array(
  'psr-4' => array('Kunnu\\Dropbox\\' => 'Classes')
),

'autoload' =>
array(
  'classmap' => array('Classes')
),

相同(非)效果。

我不认为我必须继续添加ext_autoload.php,因为所有 命名空间,对吧? 所以我想我在这里做了一些完全错误的事情。也许我不应该在类中包含库,但是创建某种单独的包装器扩展,它是我的扩展的依赖?

什么是正确的方法?

0 个答案:

没有答案
相关问题