'onFlexObjectRender', 'onBeforeSave' => 'onFlexObjectBeforeSave', 'onAfterSave' => 'onFlexObjectAfterSave', 'onBeforeDelete' => 'onFlexObjectBeforeDelete', 'onAfterDelete' => 'onFlexObjectAfterDelete' ]; if (null === $event) { $event = new Event([ 'type' => 'flex', 'directory' => $this->getFlexDirectory(), 'object' => $this ]); } if (isset($events['name'])) { $name = $events['name']; } elseif (strpos($name, 'onFlexObject') !== 0 && strpos($name, 'on') === 0) { $name = 'onFlexObject' . substr($name, 2); } $container = $this->getContainer(); if ($event instanceof Event) { $container->fireEvent($name, $event); } else { $container->dispatchEvent($event); } return $this; } }