richardregeer / gulp-php-dev-toolbox
使用gulp任务运行器的PHP开发工具箱
Requires
- php: >=5.5.0
Requires (Dev)
- phpmd/phpmd: 2.3.*
- phpunit/phpunit: 4.8.*
- sebastian/phpcpd: 2.0.*
- squizlabs/php_codesniffer: 2.5.*
README
有许多可用的工具,都具有不同的设置和命令行参数。如果所有这些任务都可以在文件中的代码更改或在提交之前自动执行,那么生活就会容易得多。此工具箱包含自动化任务,可以安装依赖项、检查代码样式、结构和运行单元测试(带或不带代码覆盖率)。
该工具箱使用gulp作为任务运行器。Gulp使用nodejs作为引擎。这样gulp就有能力异步运行任务,这将提高任务的速度。如果您真的需要同步运行任务,这仍然可能。有关更多信息,请参阅gulp API文档。gulp中的任务是通过代码创建的,而不是通过配置。这使得阅读更加容易,并且所有可用的nodejs工具都可以用于创建任务。
要求
要使用此工具箱,需要nodejs和gulp。Gulp将由工具箱本身安装。Nodejs可以通过下载或使用包管理器安装。
设置
有几种设置和使用工具箱的方法。可以将PHP工具作为开发依赖项添加到项目的composer.json中,或者可以在单独的存储库中使用工具箱。
作为composer开发依赖项安装
最简单的方法是使用composer。将此存储库作为依赖项添加到composer.json文件中。Composer不会自动调用依赖项中的脚本。为了在项目中设置工具箱,您必须从项目根目录调用工具箱中的setup-php-toolbox脚本。
composer require --dev rregeer/gulp-php-dev-toolbox composer install vendor/bin/setup-php-toolbox
使用git手动安装
只需克隆git存储库并启动设置脚本。设置脚本将工具箱复制到指定的目标目录。如果要将它作为项目的一部分,请使用项目根目录。设置脚本的第二个参数是工具箱的源目录。
git clone git://github.com/richardregeer/gulp-php-dev-toolbox.git cd gulp-php-dev-toolbox bin/setup-php-toolbox <path/to/destination> ./ cd <path/to/destination>
可用的任务
要查看所有可用的任务
gulp help
任务使用gulp插件调用各种PHP工具,例如 phpunit、php code sniffer、php mess detector、php copy / paste detector、composer、phplint、php code beautifier。可用的任务将列出描述和可用的参数或别名。
如果没有指定任务名称,则将执行默认任务。这将运行默认任务中定义的所有任务。目前这包括composer、测试和检查代码风格。
配置
对于大多数PHP工具,都有一个配置文件可供设置工具(如phpunit.dist.xml)。如果工具提供了配置文件,则必须使用它,并且应位于项目根目录中。如果没有找到配置文件,任务将失败。
没有提供配置文件的任务具有默认配置,可以通过命令行参数或dev-toolbox.config.json来覆盖。任务始终使用由composers依赖项在本地上安装的工具。如果composer没有安装所需的工具,则任务运行之前将始终安装它。工具可以在项目根目录中的vendor/bin找到。
dev-toolbox.config.json
工具箱有一个配置文件,可以用来配置工具箱和任务。
任务
您可以直接在配置中设置任务的源,而不是使用命令行参数(如使用--source=<path/**/.php>)。您可以直接在配置中设置源,因此您可以启动具有不同源的多项任务,并且每次执行任务时也不必传递源参数。
示例
{ "tasks": { "style:syntax": { "source": ["Library/**/*.php", "UnitTests/**/*.php"] }, "structure:duplication": { "source": ["Library/**/*.php"] }, "structure:complexity": { "source": ["Library/"] } } }
要添加多个项目,请使用json中的数组。