src/Agents/DestructAgent.php
public function delete($type_name, $id = 0)
    {
        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();

        $destructor = $this->destructMediator->getADestructor($family);

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

        $destructor->delete($ref);
    }
public function delete($type_name, $id = 0)
    {
        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();

        $destructor = $this->destructMediator->getADestructor($family);

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

        $destructor->delete($ref);
    }
@param string $type_name
@param int $id

@return void