bpartner/tasks

使调用任务变得简单

2.3.2 2024-01-12 14:38 UTC

This package is auto-updated.

Last update: 2024-09-12 16:17:00 UTC


README

Latest Version on Packagist Total Downloads

使用此特质轻松调用您的任务

安装

您可以通过composer安装此包

composer require bpartner/tasks

用法

创建任务

namespace App\Test;

use Bpartner\Tasks\Tasks;

class Task extends Tasks
{
     /**
     * @param \Illuminate\Support\Fluent $object        #for Laravel
     *
     * @return mixed
     */
    public function __invoke($object)
    {
        // TODO: Implement __invoke() method.
    }
}

在任何类中使用CallableTrait的Task

use Illuminate\Support\Fluent;
use Illuminate\Http\Request;

class Controller
{
    use CallableTrait;

    public function index(Request $request)
    {
        $data = new Fluent($request->all());

        return $this->run(\App\Test\Tasks::class, $data); 
    }
}

从任务中运行管道

要启动任务序列,您必须首先将特质 use PipelineTaskTrait; 添加到所有任务中。

在任务中实现handle方法。

在代码中使用CallableTrait的任何位置,您需要从任务序列创建一个数组,

并调用 $this->runPipe($data, $pipes); 方法。

namespace App\Test;

use Bpartner\Tasks\Tasks;
use Bpartner\Tasks\PipelineTaskTrait;

class Task extends Tasks
{
    use PipelineTaskTrait;

     /**
     * @param \Illuminate\Support\Fluent $object 
     *
     * @return mixed
     */
    public function __invoke($object)
    {
        // TODO: Implement __invoke() method.
    }

    /**
     * @param \Illuminate\Support\Fluent $content
     * @param \Closure                   $next
     *
     * @return mixed
     */
    public function handle(Fluent $content, Closure $next): Fluent
    {
        //Check or modify $content

        return $next($content);
    }

}

//----------------------------------------------

use Illuminate\Support\Fluent;
use Illuminate\Http\Request;

class Controller
{
    use CallableTrait;

    public function index(Request $request)
    {
        $data = new Fluent($request->all());
        $pipes = [
            \App\Test\Task::class,
            \App\Test\Task2::class
        ];

        return $this->runPipe($data, $pipes); 
    }
}

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件