src/Agents/UpdateAgent.php
public function update($type_name, $id = 0, array $values = [])
    {
        if(!is_string($type_name))
        {
            throw new EntranceException('Название А-типа) должно быть задано строкой!');
        }

        if(!is_int($id))
        {
            throw new EntranceException('Id А-типа должно быть задано целым числом!');
        }

        $type = $this->taxonomy->getType($type_name);

        $typeMode = $type->getMode();

        if($typeMode !== TypeMode::MODE_A)
        {
            throw new EntranceException('Агент удаления может удалять только тип (A) уровня, передан тип:'.$type->getName().'('.$typeMode.')!');
        }

        $family = $type->getFamily();

        $updator = $this->updateMediator->getAUpdateExecutor($family);

        $ref = new ARef($type, $id);

        $updator->update($ref, $values);
    }
public function update($type_name, $id = 0, array $values = [])
    {
        if(!is_string($type_name))
        {
            throw new EntranceException('Название А-типа) должно быть задано строкой!');
        }

        if(!is_int($id))
        {
            throw new EntranceException('Id А-типа должно быть задано целым числом!');
        }

        $type = $this->taxonomy->getType($type_name);

        $typeMode = $type->getMode();

        if($typeMode !== TypeMode::MODE_A)
        {
            throw new EntranceException('Агент удаления может удалять только тип (A) уровня, передан тип:'.$type->getName().'('.$typeMode.')!');
        }

        $family = $type->getFamily();

        $updator = $this->updateMediator->getAUpdateExecutor($family);

        $ref = new ARef($type, $id);

        $updator->update($ref, $values);
    }
@param string $type_name
@param int $id
@param array $values

@return void