typisttech / imposter-plugin
一个Composer插件,可以将其自身命名空间内的所有Composer供应商包包裹起来。适用于WordPress插件。
Requires
- php: ^7.3 || ^8.0
- composer-plugin-api: ^1.1 || ^2.0
- typisttech/imposter: ^0.6.1
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.3
- codeception/module-cli: ^1.1
- codeception/module-filesystem: ^1.0
- composer/composer: ^1.10.19 || ^2.0
- squizlabs/php_codesniffer: ^3.5
- typisttech/codeception-composer-project-module: ^0.1.1
- dev-master / 0.6.x-dev
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.6
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.0
- dev-dependabot/composer/composer/composer-2.6.5
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/squizlabs/php_codesniffer-3.7.2
- dev-dependabot/composer/codeception/codeception-4.2.2
- dev-dependabot/composer/composer/composer-2.2.9
This package is auto-updated.
Last update: 2024-09-06 17:59:11 UTC
README
Imposter 插件
一个Composer插件,可以将其自身命名空间内的所有Composer供应商包包裹起来。适用于WordPress插件。
由 Typist Tech 倾心打造
Imposter 插件 是一个开源项目,并且完全免费使用。
然而,维护和开发新功能所需的努力如果不得到适当的财务支持是无法持续的。如果您有能力,请考虑通过以下链接进行捐赠
将所有Composer供应商包包裹在您自己的命名空间内。适用于WordPress插件。Imposter 插件是 Imposter 的Composer插件封装器。
为什么?
由于WordPress中缺乏依赖管理,如果两个插件捆绑了同一包的冲突版本,就会引发难以复现的错误。对Composer供应商包进行猴子补丁、将它们包裹在您自己的命名空间内是避免此类冲突的一个不太理想的解决方案。
见
安装
应通过Composer进行安装,有关如何安装Composer的详细信息,请访问 https://getcomposer.org.cn/。
首先,在您的 composer.json
中添加 Imposter 配置
"extra": { "imposter": { "namespace": "My\\App\\Vendor", "excludes": [ "dummy/dummy-excluded" ] } }
然后,通过Composer CLI进行安装
composer require typisttech/imposter-plugin
有关详细信息,请参阅 Imposter 读取说明。
Typist Tech 准备构建您的下一个令人惊叹的WordPress网站。 雇佣我们!
用法
放松一下
一旦安装,此插件就会钩入 composer install
、composer update
和 composer dump-autoload
,自动为您运行 imposter。此外,imposter 插件自动加载所有修改过的文件作为 classmap。
当这些事件触发时,此插件
- 查找
/path/to/project/root/composer.json
- 找到 vendor-dir
- 找到所有 required packages,包括依赖项所需的那些
- 找到所有所需包的所有 autoload paths
- 将所有命名空间前缀设置为在您的
composer.json
中定义的 imposter-plugin 命名空间
有关更多信息,请参阅 imposter 的读取说明。
已知问题
需要帮助。欢迎提交拉取请求。
- 当
composer install
和composer update
时,Imposter 运行两次 - 特性没有被转换
- 不支持虚拟包
常见问题解答
我可以在哪里找到更多信息?
有关更多详细信息,请参阅 imposter 的读取说明。
关于不挂钩Composer命令怎么办?
直接使用 imposter。
如何分发被impostify的插件?
- 切换到您支持的最低PHP版本
- 安装依赖项
使用以下命令安装 composer:$ composer install --no-dev --classmap-authoritative --prefer-dist
- 清理源代码,例如:删除测试文件
- 将源代码打包成压缩文件。提示:使用
$ composer archive
- 将压缩文件发送给其他人/提交到wp.org SVN。提示
如何通过composer安装伪造的插件?
伪造的插件应提交到wp.org svn。
使用伪造意味着您将放弃通过 packagist.org 或 VCS(即使在 composer.json
中有 type: wordpress-plugin
)直接通过 composer 安装插件的能力。
要 composer require
伪造插件,请使用 wpackagist.org。
整个伪造情况非常糟糕。我们能做什么?
在WordPress核心提供关于依赖管理解决方案的方案之前,请保持冷静并继续前进。
同时,查看这些工具 以使WordPress不那么糟糕 现代化WordPress开发
你有使用此 composer 插件的真实生活例子吗?
下面是
在这里添加您的自定义内容
支持哪些 composer 版本?
两者都是 v1 和 v2。
你会添加对旧 PHP 版本的支持吗?
绝不!此插件仅适用于 积极支持的 PHP 版本。
不要在 已弃用 或仅提供 安全修复 的 PHP 版本上使用它。
这看起来很棒。我能在哪里找到更多类似的好东西
- 在 Typist Tech的博客上的文章
- wp.org上的Tang Rufus的WordPress插件
- Typist Tech的GitHub资料上的更多项目Typist Tech的GitHub资料
- 关注 Typist Tech的通讯
- 关注 Tang Rufus的Twitter账户
- 雇佣 Tang Rufus 来构建您下一个令人惊叹的网站
我可以在哪里给出5星评价?
谢谢!很高兴你喜欢它。让别人知道有人在用这个项目很重要。请考虑
- 推文一些关于 @TangRufus 的好东西
- ★ 在Github仓库上打星
- 👀 关注 Github仓库
- 编写教程和博客文章
- 雇佣 Typist Tech
测试
composer test
composer style:check
替代方案
以下是我在此找到的一些替代方案列表。然而,这些没有一个能满足我的要求。
如果你知道其他类似的项目,请随时编辑本节!
-
Mozart 由 Coen Jacobs 开发
- 支持 PSR0 和 PSR4
- 依赖包存储在不同的目录中
-
- 将文件/目录中的所有 PHP 命名空间前缀化,以隔离 PHAR 包中的代码
反馈
请提供反馈! 我们希望使这个项目尽可能有用。请 提交一个问题 并指出你喜欢和不喜欢的地方,或者fork该项目并 发送拉取请求。 任何问题都不算小。
安全漏洞
如果你在这个项目中发现了安全漏洞,请发送邮件到 imposter-plugin@typist.tech。所有安全漏洞都将得到及时处理。
鸣谢
Imposter Plugin 是一个 Typist Tech 项目,由 Tang Rufus 维护,他是 雇佣 的自由职业开发者。
贡献者完整列表可在此找到 这里。
许可证
Imposter Plugin 采用 MIT 许可证 发布。