مريدانغ / pearify
pearify将PSR-4 Composer包转换为符合PEAR的代码。
Requires
- symfony/console: ^2.5 || ^3.0
This package is auto-updated.
Last update: 2022-07-27 03:17:43 UTC
README
pearify是一个工具,可以将PSR-0和PSR-4 PHP类名重写为PEAR命名约定。pearify基于Michael Tibben的优秀PHP类重写项目。
要求
pearify需要PHP版本5.4或更高。
安装
获取pearify的最简单方法是使用Packagist。只需将mridang/pearify
添加到您的composer JSON要求列表中,然后运行composer install
。
关于
pearify严重依赖于Composer,并且只能在基于Composer的项目上工作。pearify使用Composer生成的类映射来获取要重命名的PHP类的列表。
pearify需要您已经导出了优化的autoload类映射,以便它能够包含文件路径数组。您可以通过调用
composer dump-autoload --optimize
运行上述命令将在vendor\composer
目录中生成一个名为autoload_classmap.php
的文件。有关dump-autoload
指令的更多信息,请参阅https://getcomposer.org.cn/doc/03-cli.md#dump-autoload。
类映射包含所有PHP类名(包括开发依赖项的路径)和相对文件路径的详尽列表。虽然此文件包含开发依赖项中的类,但pearify会自动排除它们。
pearify读取您的项目composer.json
文件以递归地推断您的项目的所有生产依赖项,并仅选择属于您项目生产依赖项的类映射中的类。
如果您在vendor/myname/myproject/
目录中有一个名为MyClass.php
的PHP类文件
namespace MyName\MyProject; use DateTime; class MyClass { public function getDate() { return new DateTime("2014-10-20"); } }
它将被重命名并复制到名为lib\MyName\MyProject\MyClass.php
的文件中
class MyName_MyProject_MyClass { public function getDate() { return new DateTime("2014-10-20"); } }
原始文件保持不变,新文件创建(或覆盖)时将删除所有use
和namespace
语句。
注意事项
pearify有一些缺点。如果您想看到对以下内容的支持添加到Composer中,请创建一个pull-request。
- 仅处理
vendor
目录。不支持如https://getcomposer.org.cn/doc/06-config.md#vendor-dir中所示vendor-dir
属性 - 不支持使用
suggests
属性的建议依赖项,如https://getcomposer.org.cn/doc/04-schema.md#suggest中所示 - 没有类的文件被排除
- 依赖项中的资源被排除
- 依赖项中的测试被排除
作者
- Mridang Agarwalla
- Hannu Pölönen
致谢
- Michael Tibben (@mtibben)
许可证
pearify在MIT许可证下授权 - 有关详细信息,请参阅LICENSE文件。