ah-b/oil

用于管理复杂领域逻辑的灵活包

0.1 2019-05-31 12:18 UTC

This package is auto-updated.

Last update: 2024-09-29 05:21:58 UTC


README

composer require ah-b/oil "0.1"

用法

$pipelineService = new OilService(new Pipeline());

$pipelineService->add(new Test());

$pipelineService->run('my payload');
class Test
{
    public function __invoke($payload)
    {
        return $payload;
    }
}

调解

$pipelineService = new OilService(new Mediator());

$pipelineService->add(function($payload){ echo $payload; });

$pipelineService->run('my payload');

场景

    public function indexController()
    {
    
        $databaseRecord = "test";
        
        if($databaseRecord == "test")
        {
            // do some logic
        
        }
        
        if($databaseRecord == "foo")
        {
            // do some logic
        
        }        
        
        if($databaseRecord == "bar")
        {
            // do some logic
        
        }  
        
        
        ...
    
    }
    public function indexController()
    {
    
        $databaseRecord = "test";
        
        $pipelineService = new OilService(new Pipeline());
        
        $pipelineService->add(new Test());
        
        $pipelineService->add(new Foo());
        
        $pipelineService->add(new Bar());
        
        $pipelineService->run($databaseRecord);
        
        ...
    
    }