此包的最新版本(1.0.6)没有可用的许可证信息。

1.0.6 2016-03-18 19:47 UTC

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');
});