fabiang/cludearg

用于命令行参数的路径和文件归一化库

dev-master / 1.0.x-dev 2014-07-04 13:33 UTC

This package is auto-updated.

Last update: 2020-01-03 15:37:15 UTC


README

用于命令行参数的路径和文件归一化库

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight Dependency Status Latest Stable Version License

在运行代码检查您的代码时(手动或通过持续集成自动进行)您需要定义应检查(包含)和不应检查(排除)的路径/文件。

问题是,所有这些工具都以不同的方式定义命令行参数。这个库只接受标准化格式,并且可以根据给定的应用程序名称和版本返回应用程序格式。

支持的应用程序

  • php/lint (php -l)
  • squizlabs/php_codesniffer
  • phpmd/phpmd
  • phpdocumentor/phpdocumentor
  • pdepend/pdepend
  • sebastian/phpcpd

安装

是 Composer 新手?请阅读 简介。将以下内容添加到您的 composer 文件中

{
    "require": {
        "fabiang/cludearg": "1.0.x-dev as 1.0.0"
    }
}

用法

您只需要一个方法

Fabiang\Cludearg\Cludearg::getArgument(
    string $application,
    string $version,
    array $include,
    array $exclude,
    string $path
)

示例

use Fabiang\Cludearg\Cludearg;

$cludearg = new Cludearg();

$arguments = $cludearg->getArgument(
    'squizlabs/php_codesniffer',
    '1.0.1',
    array('bin/foo.php', 'src'), // files and folders to be included
    array('vendor', 'tests'), // files and folders to be excluded
    '/myproject' // path where the project can be found
);

所有包含和排除的路径都必须相对于给定路径。Cludearg 的构造函数可以可选地接受一个 Definition 对象,允许您添加自己的参数定义。

系统要求

  • PHP >=5.3
  • seld/jsonlint >= 1.1

许可证

BSD-2-Clause。请参阅 LICENSE

贡献

贡献很简单,只需确保测试正在运行

./vendor/bin/phpunit -c tests

如果您更改了默认的定义文件,请检查 JSON 架构是否有效

./vendor/bin/validate-json definition.json schema/cludearg.json

此外,Jsonlint 可能有助于您在定义文件中找到错误

./vendor/bin/jsonlint definition.json