Php Composer-自动加载API/自定义安装程序

Php Composer-自动加载API/自定义安装程序,php,composer-php,Php,Composer Php,如何在安装了composer库的情况下自动加载一组库API函数 我有一个带有函数API的库,用于接口库内部对象,并希望composer自动加载API,并在安装后使其可用,而无需最终开发人员包含文件 目前,该库仅通过包含\uuuu init\uuuu.php加载,如果需要,还包括API函数和自动加载程序 谢谢 Composer总是要求最终开发人员包含一个文件,即vendor/autoload.php。你不能让它变得更容易 但是您可以做的是使include\uuuu init\uuuu.php成为可

如何在安装了composer库的情况下自动加载一组库API函数

我有一个带有函数API的库,用于接口库内部对象,并希望composer自动加载API,并在安装后使其可用,而无需最终开发人员包含文件

目前,该库仅通过包含
\uuuu init\uuuu.php
加载,如果需要,还包括API函数和自动加载程序


谢谢

Composer总是要求最终开发人员包含一个文件,即
vendor/autoload.php
。你不能让它变得更容易

但是您可以做的是使include
\uuuu init\uuuu.php
成为可选的,因为Composer的集成允许您使用自动加载器。这也适用于不能真正自动加载的函数——Composer提供在被告知时始终包含文件

因此,最终该API库的Composer配置如下所示:

{
    "name": "yourvendorname/yourfancylibraryname",
    "license": "any open source identifier",
    "autoload": {
        "psr-0": {
            "Foo_Api": "src/files"
        },
        "classmap": [
            "extra/folders_with_any_other_class_not_conforming_to_psr0_or_psr4"
        ],
        "files": [
            "functions/file_with_your_function_definitions.php"
        ]
    }
}
我不知道您的类是否符合PSR-0甚至PSR-4,但如果它们符合PSR-0甚至PSR-4,那么如果您可以使用这些标准声明自动加载器,您和所有人都将受益。如果没有:Classmap将帮助您

您的函数定义将由“文件”中提到的一个或多个文件加载

对于Composer,您不再需要自己的自动加载器


当然,您也可以简单地将旧的
\uuuuu init\uuuu.php
作为要包含在“文件”中的文件,但这会将您的库与所有其他类分开,性能可能会降低(Composer已经有一个非常好的自动加载器-不需要两个)而且绝对不会将您的所有类转储到更快的Composer classmap自动加载器中。

太棒了,这看起来正是我需要的。。。今晚需要测试。。。内部类与PSR兼容,因此它们应该与Composer autoloader一起使用。。。谢谢查看github中的composer.json文件,