burntromi/exception-generator

创建标准异常的工具

安装: 16

依赖项: 0

建议者: 0

安全: 0

星星: 3

关注者: 2

分支: 1

开放问题: 0

类型:application

1.0.1 2016-11-22 16:48 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:42:06 UTC


README

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

http://ralphschindler.com/2010/09/15/exception-best-practices-in-php-5-3

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

Build Status Latest Stable Version License

安装/使用

composer global require burntromi/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文件并且可以解析出命名空间。之后,迭代的路径将被添加到解析出的命名空间中。

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

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

如果你没有使用“p”参数,应用也将检查父异常,如果找到,则用作继承的基础异常。

确定后的命名空间将在最后显示,并且你会被要求使用“enter”进行验证或进行纠正。

配置文件 (.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