如何将第三方类库与Laravel集成,以便自动加载?

时间:2014-04-17 04:08:36

标签: php laravel sdk laravel-4

我正在尝试将Temboo SDK与Laravel框架集成,以便像其他供应商一样自动加载。

SDK具有以下结构:

temboo
    src
        library
            temboo._23andme.php
            temboo._37signals.php
            etc...
        temboo.php

在主Temboo文件中,它们有多个类声明,每个声明使用class Temboo_Session等命名,library目录中的类的格式为class _23andMe_Names extends Temboo_Choreography

temboo.php类文件还包含自动加载器类Temboo_Loader和声明spl_autoload_register(array('Temboo_Loader', 'autoload'));

这是我第一次尝试集成非PSR-0库,所以我对此感到有点迷失。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

您可以通过将基本文件夹添加到以下内容来告诉Composer自动加载任何(非PSR)类:

"autoload": {
    "classmap": [
        "app/commands",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    ....

您还可以通过将自动加载器添加到文件部分来自动加载自动加载器:

"autoload": {
    "files": [
        "temboo/src/Temboo_Loader.php"
    ],
...

添加这些条目后,执行

composer dumpautoload

并检查文件vendor/composer/autoload_classmap.php,必须列出所有可用的类,如果没有一个文件,则不会自动加载。