Version: current

# Class FormScaffolder

  Object
  FormScaffolder

Package: sapphire\forms
Uses: ``DBField::scaffoldFormField()``
Uses: ``DataObject::fieldLabels()``
Used by: ``DataObject::scaffoldFormFields()``
Located at sapphire/forms/FormScaffolder.php

## Methods summary

`public` | # `__construct( `DataObject` $obj )` #### Parameters $obj DataObject $obj #### Overrides `Object::__construct`
`public `FieldSet`` | # `getFieldSet( )` Gets the form fields as defined through the metadata on `FormScaffolder::$obj` and the custom parameters passed to FormScaffolder. Depending on those parameters, the fields can be used in ajax-context, contain `TabSet`s etc. Gets the form fields as defined through the metadata on `FormScaffolder::$obj` and the custom parameters passed to FormScaffolder. Depending on those parameters, the fields can be used in ajax-context, contain `TabSet`s etc. #### Returns ``FieldSet`` FieldSet
`protected array` | # `getParamsArray( )` Return an array suitable for passing on to DBField->scaffoldFormField() without tying this call to a FormScaffolder interface. Return an array suitable for passing on to DBField->scaffoldFormField() without tying this call to a FormScaffolder interface. #### Returns `array` array

### Methods inherited from Object

`__call()`, `__toString()`, `__wakeup()`, `addMethodsFrom()`, `addStaticVars()`, `addWrapperMethod()`, `add_extension()`, `add_static_var()`, `allMethodNames()`, `cacheToFile()`, `cacheToFileWithArgs()`, `clearCache()`, `combined_static()`, `create()`, `createMethod()`, `create_from_string()`, `defineMethods()`, `exists()`, `extInstance()`, `extend()`, `getCustomClass()`, `getExtensionInstance()`, `getExtensionInstances()`, `get_extensions()`, `get_static()`, `hasExtension()`, `hasMethod()`, `has_extension()`, `invokeWithExtensions()`, `is_a()`, `loadCache()`, `parentClass()`, `parse_class_spec()`, `remove_extension()`, `sanitiseCachename()`, `saveCache()`, `set_stat()`, `set_static()`, `set_uninherited()`, `stat()`, `strong_create()`, `uninherited()`, `uninherited_static()`, `useCustomClass()`

### Magic methods summary

## Properties summary

`protected `DataObject`` | $obj | # $obj The object defining the fields to be scaffolded through its metadata like $db, $searchable_fields, etc. $obj The object defining the fields to be scaffolded through its metadata like $db, $searchable_fields, etc.
`public boolean` | $tabbed | # $tabbed Return fields in a tabset, with all main fields in the path "Root.Main", relation fields in "Root.<relationname>" (if `FormScaffolder::$includeRelations` is enabled). $tabbed Return fields in a tabset, with all main fields in the path "Root.Main", relation fields in "Root.<relationname>" (if `FormScaffolder::$includeRelations` is enabled).
`public boolean` | $ajaxSafe | # $ajaxSafe $ajaxSafe
`public array` | $restrictFields | # $restrictFields Numeric array of a field name whitelist. If left blank, all fields from DataObject->db() will be included. $restrictFields Numeric array of a field name whitelist. If left blank, all fields from DataObject->db() will be included.
`public array` | $fieldClasses | # $fieldClasses Optional mapping of fieldnames to subclasses of `FormField`. By default the scaffolder will determine the field instance by `DBField::scaffoldFormField()`. $fieldClasses Optional mapping of fieldnames to subclasses of `FormField`. By default the scaffolder will determine the field instance by `DBField::scaffoldFormField()`.
`public boolean` | $includeRelations | # $includeRelations Include has_one, has_many and many_many relations $includeRelations Include has_one, has_many and many_many relations

### Properties inherited from Object

`$class`, `$extension_instances`, `$extensions`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -