fabiang/exception-generator

标准异常生成工具

安装: 4

依赖者: 0

建议者: 0

安全: 0

星级: 1

关注者: 1

分支: 1

类型:应用

v2.1.0 2024-01-24 11:01 UTC

This package is auto-updated.

Last update: 2024-08-24 12:19:46 UTC


README

在软件项目和库中,生成异常类非常常见且必要。为了生成这些类,在PHP环境中强制执行的以下最佳实践

PHP 5.3中的异常最佳实践

手动创建这些类既费时又容易出错。为了节省时间和减少错误,制作了这个工具!

Continuous Integration Latest Stable Version License Scrutinizer Code Quality Code Coverage

安装/使用

composer global require fabiang/exception-generator

确保您的路径中包含 ~/.composer/vendor/bin/

exception-generator [PATH]

PATH 是您希望生成异常类的源代码路径。

可能选项

--overwrite (-o):

允许覆盖所有现有文件,而无需逐个询问。

--template-path=PATH (-t PATH):

可以用来确定应用程序查找模板以创建异常类/接口的路径。如果在此路径中找不到模板,应用程序将搜索其他方式来查找要使用的模板。首先,它将检查位于 $HOME 中的配置文件 (.exception-generator.json)。如果这也失败,它将使用工具本身提供的模板。

--no-parents (-p):

禁用搜索和使用父异常类的功能。

--help (-h):

显示帮助文本并退出。

命名空间是如何确定的?

工具从当前目录开始。如果可以找到PHP文件,它将尝试从这个文件中解析出一个命名空间。如果没有找到PHP文件,它将从当前目录开始迭代,向上遍历所有文件夹,直到找到PHP文件并解析出一个命名空间。之后,迭代的路径将添加到解析出的命名空间中。

如果应用程序在迭代过程中遇到composer.json,它将尝试使用“autoload”条目(psr-4和psr-0)来确定命名空间,其中psr-4的优先级高于psr-0。

如果应用程序在迭代过程中遇到.git文件夹,并且在此目录中既没有找到PHP文件,也没有找到composer.json,因此无法确定命名空间,迭代将终止,并且您必须手动输入命名空间。

如果您不使用“p”参数,应用程序还将检查父异常,如果找到,则用作继承的基础异常。

确定后的命名空间将显示在最后,并请您使用“回车”键验证或更正。

配置文件 (.exception-generator.json)

应位于 $HOME 中,并使用以下模式

{
    "templatepath": {
        "global": "/home/user/exception-generator/global",
        "projects": {
            "/data/projects/myproject": "/home/user/exception-generator/myproject/"
        }
    }
}

首先,它将尝试将“projects”中的路径与当前目录匹配,并使用最可能的包含模板的路径。如果有多于一个匹配,它将使用最可能的路径。如果失败,它将检查“global”条目中的模板。否则,工具将使用自身提供的模板。

测试

运行PHPUnit

./vendor/bin/phpunit

运行Behat

./vendor/bin/behat

许可证

MIT 查看 LICENSE.md