ApaiIO\Operations\Batch::addOperation PHP Метод

addOperation() публичный метод

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
Результат 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
 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());
 }