ApaiIO\Operations\Batch::addOperation PHP Method

addOperation() public method

Note that only operations with the same operation name can be added. First operation which is added will be the reference and the instance will let you only add other operations with the same operation name.
public addOperation ( ApaiIO\Operations\OperationInterface $operation ) : void
$operation ApaiIO\Operations\OperationInterface
return void
    public function addOperation(OperationInterface $operation)
    {
        if (null === $this->operationName) {
            $this->operationName = $operation->getName();
        }
        if ($this->operationName !== $operation->getName()) {
            return;
        }
        $this->operations[] = $operation;
    }

Usage Example

コード例 #1
0
ファイル: BatchTest.php プロジェクト: exeu/apai-io
 public function testAddOperation()
 {
     $op = new Search();
     $op->setTest('test');
     $batch = new Batch();
     $batch->addOperation($op);
     $this->assertSame('ItemSearch', $batch->getName());
     $this->assertSame(['ItemSearch.1.Test' => 'test'], $batch->getOperationParameter());
     $op2 = new Lookup();
     $batch->addOperation($op2);
     $this->assertSame('ItemSearch', $batch->getName());
     $this->assertSame(['ItemSearch.1.Test' => 'test'], $batch->getOperationParameter());
     $batch = new Batch([$op, $op2]);
     $this->assertSame('ItemSearch', $batch->getName());
     $this->assertSame(['ItemSearch.1.Test' => 'test'], $batch->getOperationParameter());
     $op3 = new Search();
     $op3->setTest2('test');
     $batch->addOperation($op3);
     $this->assertSame('ItemSearch', $batch->getName());
     $this->assertSame(['ItemSearch.1.Test' => 'test', 'ItemSearch.2.Test2' => 'test'], $batch->getOperationParameter());
 }