griffbrad / gasp
此包的最新版本(1.0.6)没有可用的许可证信息。
1.0.6
2016-03-18 19:47 UTC
Requires
- php: >=5.4.0
- phpdocumentor/phpdocumentor: 2.*
- squizlabs/php_codesniffer: 2.*
Requires (Dev)
- phpunit/dbunit: 2.*
- phpunit/phpunit: 4.*
- phpunit/phpunit-mock-objects: 2.*
This package is not auto-updated.
Last update: 2024-09-24 07:24:45 UTC
README
Gasp是一个与Gulp API类似的PHP任务执行器。
Gasp使您能够轻松创建可以与其他团队成员共享的构建脚本。您可以使用常规PHP代码配置Gasp,而不是被限制在既复杂又有限的XML或JSON语法中。您可以通过简单的回调轻松组合多个Gasp任务到一个命令中或添加自己的任务。
安装
您首先通过composer安装Gasp。将其添加到composer.json的require-dev部分
{
"require-dev": {
"griffbrad/gasp": "1.*"
}
}
然后您将能够从vendor目录运行Gasp
./vendor/bin/gasp
入门指南
您需要在项目文件夹中创建一个gaspfile。如果您通过Composer安装了Gasp,您将把gaspfile放在与vendor文件夹相同的目录中。以下是一个简单的gaspfile示例
<?php
$gasp->sniff()
->setPhpcs('./vendor/bin/phpcs')
->setStandard('PSR2')
->addPath('admin')
->addPath('library/Monitoring');
$gasp->lint()
->setPhp('/usr/bin/php')
->addPath('admin')
->addPath('library/Monitoring');
$gasp->task('qa', ['sniff', 'lint']);
注意自定义的"qa"任务,它组合了内置的"sniff"和"lint"任务。您也可以使用闭包定义自定义任务,而不是任务名称数组。
要调用gaspfile中定义的任何任务,只需将任务名称作为第一个参数传递给gasp即可
./vendor/bin/gasp qa
我们计划随着时间的推移添加更多任务,但您可以使用自定义任务或内置的exec任务来填补空缺。
使用回调定义自定义任务
在实现使用回调的定制任务时,您需要返回一个结果对象,这样Gasp才能知道情况如何
<?php
$gasp->task('custom', function () use ($gasp) {
$itWorked = call_your_custom_functions_to_do_important_work();
$result = $gasp->result();
if ($itWorked) {
$result
->setStatus('success')
->setMessage('Hey! It worked!');
} else {
$result
->setStatus('failure')
->setMessage('Hm. Try again.');
}
return $result;
});
使用exec运行其他程序
内置的exec任务让您可以运行其他程序,并将根据程序的退出状态自动生成结果
<?php
$gasp->task('date', function () use ($gasp) {
return $gasp->exec('date');
});