name: HasEvents class_comment: null dependencies: - name: Dispatcher type: class source: Illuminate\Contracts\Events\Dispatcher - name: ObservedBy type: class source: Illuminate\Database\Eloquent\Attributes\ObservedBy - name: NullDispatcher type: class source: Illuminate\Events\NullDispatcher - name: Arr type: class source: Illuminate\Support\Arr - name: InvalidArgumentException type: class source: InvalidArgumentException - name: ReflectionClass type: class source: ReflectionClass properties: - name: dispatchesEvents visibility: protected comment: '# * The event map for the model. # * # * Allows for object-based events for native Eloquent events. # * # * @var array' - name: observables visibility: protected comment: '# * User exposed observable events. # * # * These are extra user-defined events observers may subscribe to. # * # * @var array' methods: - name: bootHasEvents visibility: public parameters: [] comment: "# * The event map for the model.\n# *\n# * Allows for object-based events\ \ for native Eloquent events.\n# *\n# * @var array\n# */\n# protected $dispatchesEvents\ \ = [];\n# \n# /**\n# * User exposed observable events.\n# *\n# * These are extra\ \ user-defined events observers may subscribe to.\n# *\n# * @var array\n# */\n\ # protected $observables = [];\n# \n# /**\n# * Boot the has event trait for a\ \ model.\n# *\n# * @return void" - name: resolveObserveAttributes visibility: public parameters: [] comment: '# * Resolve the observe class names from the attributes. # * # * @return array' - name: observe visibility: public parameters: - name: classes comment: '# * Register observers with the model. # * # * @param object|array|string $classes # * @return void # * # * @throws \RuntimeException' - name: registerObserver visibility: protected parameters: - name: class comment: '# * Register a single observer with the model. # * # * @param object|string $class # * @return void # * # * @throws \RuntimeException' - name: resolveObserverClassName visibility: private parameters: - name: class comment: '# * Resolve the observer''s class name from an object or string. # * # * @param object|string $class # * @return string # * # * @throws \InvalidArgumentException' - name: getObservableEvents visibility: public parameters: [] comment: '# * Get the observable event names. # * # * @return array' - name: setObservableEvents visibility: public parameters: - name: observables comment: '# * Set the observable event names. # * # * @param array $observables # * @return $this' - name: addObservableEvents visibility: public parameters: - name: observables comment: '# * Add an observable event name. # * # * @param array|mixed $observables # * @return void' - name: removeObservableEvents visibility: public parameters: - name: observables comment: '# * Remove an observable event name. # * # * @param array|mixed $observables # * @return void' - name: registerModelEvent visibility: protected parameters: - name: event - name: callback comment: '# * Register a model event with the dispatcher. # * # * @param string $event # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: fireModelEvent visibility: protected parameters: - name: event - name: halt default: 'true' comment: '# * Fire the given event for the model. # * # * @param string $event # * @param bool $halt # * @return mixed' - name: fireCustomModelEvent visibility: protected parameters: - name: event - name: method comment: '# * Fire a custom model event for the given event. # * # * @param string $event # * @param string $method # * @return mixed|null' - name: filterModelEventResults visibility: protected parameters: - name: result comment: '# * Filter the model event results. # * # * @param mixed $result # * @return mixed' - name: retrieved visibility: public parameters: - name: callback comment: '# * Register a retrieved model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: saving visibility: public parameters: - name: callback comment: '# * Register a saving model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: saved visibility: public parameters: - name: callback comment: '# * Register a saved model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: updating visibility: public parameters: - name: callback comment: '# * Register an updating model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: updated visibility: public parameters: - name: callback comment: '# * Register an updated model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: creating visibility: public parameters: - name: callback comment: '# * Register a creating model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: created visibility: public parameters: - name: callback comment: '# * Register a created model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: replicating visibility: public parameters: - name: callback comment: '# * Register a replicating model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: deleting visibility: public parameters: - name: callback comment: '# * Register a deleting model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: deleted visibility: public parameters: - name: callback comment: '# * Register a deleted model event with the dispatcher. # * # * @param \Illuminate\Events\QueuedClosure|\Closure|string|array $callback # * @return void' - name: flushEventListeners visibility: public parameters: [] comment: '# * Remove all the event listeners for the model. # * # * @return void' - name: dispatchesEvents visibility: public parameters: [] comment: '# * Get the event map for the model. # * # * @return array' - name: getEventDispatcher visibility: public parameters: [] comment: '# * Get the event dispatcher instance. # * # * @return \Illuminate\Contracts\Events\Dispatcher' - name: setEventDispatcher visibility: public parameters: - name: dispatcher comment: '# * Set the event dispatcher instance. # * # * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher # * @return void' - name: unsetEventDispatcher visibility: public parameters: [] comment: '# * Unset the event dispatcher for models. # * # * @return void' - name: withoutEvents visibility: public parameters: - name: callback comment: '# * Execute a callback without firing any model events for any model type. # * # * @param callable $callback # * @return mixed' traits: - Illuminate\Contracts\Events\Dispatcher - Illuminate\Database\Eloquent\Attributes\ObservedBy - Illuminate\Events\NullDispatcher - Illuminate\Support\Arr - InvalidArgumentException - ReflectionClass interfaces: []