easyengine / autoload-splitter
Composer 插件,用于将生成的自动加载器拆分为两个独立部分。
Requires
- composer-plugin-api: ^1.1 || ^2.0
This package is auto-updated.
Last update: 2021-06-24 14:26:01 UTC
README
这是 EE(EasyEngine)的定制自动加载器生成器,它生成两个独立的自动加载器,将可自动加载的类分开。这允许这些独立的可自动加载的类组在代码执行路径的不同时间注册。
使用默认设置,它将生成以下两个文件
vendor/autoload_framework.phpvendor/autoload_commands.php
用法
在你的项目的 composer.json 中,需要 easyengine/autoload-splitter,然后根据需要添加 "extra" 来自定义默认行为
{
"require": {
"easyengine/autoload-splitter": "^0.1"
},
"extra": {
"autoload-splitter": {
"splitter-logic": "WP_CLI\\AutoloadSplitter",
"splitter-location": "php/WP_CLI/AutoloadSplitter.php",
"split-target-prefix-true": "autoload_commands",
"split-target-prefix-false": "autoload_framework"
}
}
}
在下次更新/安装后,你将拥有 vendor/autoload_framework.php 和 vendor/autoload_commands.php 两个文件,你可以简单地包含并使用它们来按需自动加载单个类组。
有效的 "extra" 键
您可以通过在 "autoload-splitter" 根键下提供 "extra" 键来配置自动加载拆分器。
-
"splitter-logic":包含拆分逻辑的类的完全限定名称。此类将以两个参数
__invoke()调用,即完全限定类名以及类的源文件路径。 -
"splitter-location":拆分逻辑类源文件的位置。这用于在类文件不可通过自动加载提供给 Composer 插件时手动要求类文件。
-
"split-target-prefix-true":用于生成包含通过拆分逻辑评估为
true的类的自动加载文件的名称前缀。 -
"split-target-prefix-false":用于生成包含通过拆分逻辑评估为
false的类的自动加载文件的名称前缀。
当前限制
"psr-0" & "psr-4" 自动加载器
为了能够对单个类进行操作,此 Composer 插件会将所有 PSR-0 和 PSR-4 自动加载器转换为用于拆分自动加载功能的类图。这类似于生成标准自动加载器时的 --optimized 开关。在开发过程中,您需要在修改类名或位置后重新运行自动加载生成,以便更新拆分自动加载器。
要重新生成自动加载器,只需在项目的根目录中运行 composer dump-autoload。
"files" 自动加载器
实际上,“files” 自动加载部分不是一个真正的自动加载器。当自动加载器被触发时,这些文件会被积极包含,因此在这个 Composer 插件中它们被简单地忽略。
许可证
此代码遵循MIT许可证发布。
有关完整的版权和许可证信息,请查看与此源代码一起分发的 LICENSE 文件。