Baum\Node::boot PHP Méthode

boot() protected static méthode

We'll use this method to register event listeners on a Node instance as suggested in the beta documentation... TODO: - Find a way to avoid needing to declare the called methods "public" as registering the event listeners *inside* this methods does not give us an object context. Events: 1. "creating": Before creating a new Node we'll assign a default value for the left and right indexes. 2. "saving": Before saving, we'll perform a check to see if we have to move to another parent. 3. "saved": Move to the new parent after saving if needed and re-set depth. 4. "deleting": Before delete we should prune all children and update the left and right indexes for the remaining nodes. 5. (optional) "restoring": Before a soft-delete node restore operation, shift its siblings. 6. (optional) "restore": After having restored a soft-deleted node, restore all of its descendants.
protected static boot ( ) : void
Résultat void
    protected static function boot()
    {
        parent::boot();
        static::creating(function ($node) {
            $node->setDefaultLeftAndRight();
        });
        static::saving(function ($node) {
            $node->storeNewParent();
        });
        static::saved(function ($node) {
            $node->moveToNewParent();
            $node->setDepth();
        });
        static::deleting(function ($node) {
            $node->destroyDescendants();
        });
        if (static::softDeletesEnabled()) {
            static::restoring(function ($node) {
                $node->shiftSiblingsForRestore();
            });
            static::restored(function ($node) {
                $node->restoreDescendants();
            });
        }
    }

Usage Example

Exemple #1
0
 protected static function boot()
 {
     parent::boot();
     static::creating(function ($cluster) {
         $cluster->ensureUuid();
     });
 }
All Usage Examples Of Baum\Node::boot