/** * @param FormBuilder $formBuilder * @param OverviewBuilder $overviewBuilder * @param ModelBuilder $modelBuilder */ public function __construct(FormBuilder $formBuilder, OverviewBuilder $overviewBuilder, ModelBuilder $modelBuilder) { $formBuilder->setName(get_called_class()); $this->formBuilder = $formBuilder; $this->modelBuilder = $modelBuilder; $this->overviewBuilder = $overviewBuilder; $this->buildModel($modelBuilder); $this->buildForm($formBuilder); $modelBuilder->setFormBuilder($formBuilder); $model = $modelBuilder->build(); $form = $formBuilder->build(); $overviewBuilder->setForm($form); $overviewBuilder->setModel($model); $this->buildOverview($overviewBuilder); Config::set('crud::config', array_replace_recursive(Config::get('crud::config'), $this->config())); }