view = $view; $this->data = new Fluent($view->getData()); if (method_exists($this, 'init')) { app()->call([$this, 'init']); } $view->with($this->merge()); } /** * Data to be merged and passed to the view before rendering. */ protected function merge(): array { return array_merge( $this->view->getData(), $this->with() ); } /** * Data to be passed to view before rendering */ protected function with(): array { return []; } }