Overview

Namespaces

  • Charcoal
    • Ui
      • Dashboard
      • Form
      • FormGroup
      • FormInput
      • Layout
      • Menu
      • MenuItem
      • ServiceProvider

Classes

  • Charcoal\Ui\AbstractUiItem
  • Charcoal\Ui\Dashboard\AbstractDashboard
  • Charcoal\Ui\Dashboard\DashboardBuilder
  • Charcoal\Ui\Dashboard\DashboardConfig
  • Charcoal\Ui\Dashboard\FormInputConfig
  • Charcoal\Ui\Dashboard\GenericDashboard
  • Charcoal\Ui\Form\AbstractForm
  • Charcoal\Ui\Form\FormBuilder
  • Charcoal\Ui\Form\FormConfig
  • Charcoal\Ui\Form\GenericForm
  • Charcoal\Ui\FormGroup\AbstractFormGroup
  • Charcoal\Ui\FormGroup\FormGroupConfig
  • Charcoal\Ui\FormGroup\GenericFormGroup
  • Charcoal\Ui\FormInput\AbstractFormInput
  • Charcoal\Ui\FormInput\FormInputBuilder
  • Charcoal\Ui\FormInput\GenericFormInput
  • Charcoal\Ui\Layout\AbstractLayout
  • Charcoal\Ui\Layout\GenericLayout
  • Charcoal\Ui\Layout\LayoutBuilder
  • Charcoal\Ui\Layout\LayoutConfig
  • Charcoal\Ui\Layout\LayoutFactory
  • Charcoal\Ui\Menu\AbstractMenu
  • Charcoal\Ui\Menu\GenericMenu
  • Charcoal\Ui\Menu\MenuBuilder
  • Charcoal\Ui\Menu\MenuConfig
  • Charcoal\Ui\Menu\MenuFactory
  • Charcoal\Ui\MenuItem\AbstractMenuItem
  • Charcoal\Ui\MenuItem\GenericMenuItem
  • Charcoal\Ui\MenuItem\MenuItemBuilder
  • Charcoal\Ui\MenuItem\MenuItemConfig
  • Charcoal\Ui\MenuItem\MenuItemFactory
  • Charcoal\Ui\ServiceProvider\DashboardServiceProvider
  • Charcoal\Ui\ServiceProvider\FormServiceProvider
  • Charcoal\Ui\ServiceProvider\LayoutServiceProvider
  • Charcoal\Ui\ServiceProvider\MenuServiceProvider
  • Charcoal\Ui\ServiceProvider\UiServiceProvider
  • Charcoal\Ui\UiItemConfig

Interfaces

  • Charcoal\Ui\Dashboard\DashboardInterface
  • Charcoal\Ui\Form\FormInterface
  • Charcoal\Ui\FormGroup\FormGroupInterface
  • Charcoal\Ui\FormInput\FormInputInterface
  • Charcoal\Ui\Layout\LayoutAwareInterface
  • Charcoal\Ui\Layout\LayoutInterface
  • Charcoal\Ui\Menu\MenuInterface
  • Charcoal\Ui\MenuItem\MenuItemInterface
  • Charcoal\Ui\UiGroupingInterface
  • Charcoal\Ui\UiItemInterface

Traits

  • Charcoal\Ui\Dashboard\DashboardTrait
  • Charcoal\Ui\Form\FormTrait
  • Charcoal\Ui\FormGroup\FormGroupTrait
  • Charcoal\Ui\Layout\LayoutAwareTrait
  • Charcoal\Ui\Layout\LayoutTrait
  • Charcoal\Ui\UiGroupingTrait
  • Charcoal\Ui\UiItemTrait
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace Charcoal\Ui\Form;
 4: 
 5: use \Pimple\Container;
 6: 
 7: // From 'charcoal-factory'
 8: use \Charcoal\Factory\FactoryInterface;
 9: 
10: /**
11:  * Form Builder
12:  */
13: class FormBuilder
14: {
15:     /**
16:      * The default, concrete, form model.
17:      *
18:      * @const string
19:      */
20:     const DEFAULT_TYPE = 'charcoal/ui/form/generic';
21: 
22:     /**
23:      * Store the form factory instance.
24:      *
25:      * @var FactoryInterface
26:      */
27:     protected $factory;
28: 
29:     /**
30:      * Store the dependency-injection container to fulfill the required services.
31:      *
32:      * @var Container $container
33:      */
34:     protected $container;
35: 
36:     /**
37:      * Return a new form builder.
38:      *
39:      * @param FactoryInterface $factory An form factory.
40:      */
41:     public function __construct(FactoryInterface $factory)
42:     {
43:         $this->factory = $factory;
44:     }
45: 
46:     /**
47:      * Build and return a new form.
48:      *
49:      * @param  array|\ArrayAccess $options The form build options.
50:      * @return DashboardInterface
51:      */
52:     public function build($options)
53:     {
54:         $objType = isset($options['type']) ? $options['type'] : self::DEFAULT_TYPE;
55: 
56:         $obj = $this->factory->create($objType);
57:         $obj->setData($options);
58: 
59:         return $obj;
60:     }
61: }
62: 
API documentation generated by ApiGen