Pimcore\Model\Object\AbstractObject::delete PHP Метод

delete() публичный Метод

public delete ( ) : void
Результат void
    public function delete()
    {
        \Pimcore::getEventManager()->trigger("object.preDelete", $this);
        // delete childs
        if ($this->hasChilds([self::OBJECT_TYPE_OBJECT, self::OBJECT_TYPE_FOLDER, self::OBJECT_TYPE_VARIANT])) {
            // delete also unpublished children
            $unpublishedStatus = self::doHideUnpublished();
            self::setHideUnpublished(false);
            foreach ($this->getChilds([self::OBJECT_TYPE_OBJECT, self::OBJECT_TYPE_FOLDER, self::OBJECT_TYPE_VARIANT], true) as $value) {
                $value->delete();
            }
            self::setHideUnpublished($unpublishedStatus);
        }
        // remove dependencies
        $d = $this->getDependencies();
        $d->cleanAllForElement($this);
        // remove all properties
        $this->getDao()->deleteAllProperties();
        // remove all permissions
        $this->getDao()->deleteAllPermissions();
        $this->getDao()->delete();
        // empty object cache
        $this->clearDependentCache();
        //set object to registry
        \Zend_Registry::set("object_" . $this->getId(), null);
        \Pimcore::getEventManager()->trigger("object.postDelete", $this);
    }

Usage Example

Пример #1
0
 /**
  * @throws \Exception
  */
 public function delete()
 {
     if ($this->getId() == 1) {
         throw new \Exception("root-node cannot be deleted");
     }
     parent::delete();
 }
All Usage Examples Of Pimcore\Model\Object\AbstractObject::delete