Form
Form Widget
Used for building back end forms and renders a form.
class Backend\Widgets\Form
extends Backend\Classes\WidgetBase
Extends
Class | Description |
---|---|
WidgetBase
|
Widget base class. |
Traits
Trait | Description |
---|---|
AssetMaker
|
Asset Maker Trait Adds asset based methods to a class |
ConfigMaker
|
Config Maker Trait Adds configuration based methods to a class |
ErrorMaker
|
Error Maker Trait
Adds exception based methods to a class, goes well with |
EventEmitter
|
Adds system event related features to any class. |
ExtendableTrait
|
This extension trait is used when access to the underlying base class is not available, such as classes that belong to the foundation framework (Laravel). It is currently used by the Controller and Model classes. |
FormModelSaver
|
Implements special logic for processing form data, typically from from postback, and
filling the model attributes and attributes of any related models. This is a
customized, safer and simplified version of |
SessionMaker
|
Session Maker Trait |
ViewMaker
|
View Maker Trait Adds view based methods to a class |
WidgetMaker
|
Widget Maker Trait |
Properties
public $arrayName : string
If the field element names should be contained in an array. Eg:
public $context : string
The context of this form, fields that do not belong to this context will not be shown.
public $data : array
Dataset containing field values, if none supplied, model is used.
public $fields : array
Form field configuration.
public
$isNested
:
bool
= false
Used to flag that this form is being rendered as part of another form, a good indicator to expect that the form model and dataset values will differ.
public $model : Model
Form model object.
public
$previewMode
:
bool
= false
Render this form with uneditable preview data.
public $secondaryTabs : array
Secondary tab configuration.
public $sessionKey : string
Active session key, used for editing forms and deferred bindings.
public $tabs : array
Primary tab configuration.
protected
$allFields
:
array
= []
Collection of all fields used in this form.
protected
$allTabs
:
object
= {"outside":null,"primary":null,"secondary":null}
Collection of tab sections used in this form.
protected
$defaultAlias
:
mixed
= "form"
A unique alias to identify this widget.
protected
$fieldsDefined
:
bool
= false
Determines if field definitions have been created.
protected
$formWidgets
:
array
= []
Collection of all form widgets used in this form.
protected $widgetManager : Backend\Classes\WidgetManager
inherited public $alias : string
Defined alias used for this widget.
inherited public $assetPath : string
Specifies a path to the asset directory.
inherited public $config : object
Supplied configuration.
inherited
public
$implement
:
string
|
array
|
null
= null
Extensions implemented by this class.
inherited public $layout : string
Layout to use for the view.
inherited
public
$suppressLayout
:
bool
= false
Prevents the use of a layout.
inherited
public
$vars
:
array
= []
A list of variables to pass to the page.
inherited
protected
$assets
:
array
= {"js":[],"css":[],"rss":[],"vite":[]}
Collection of assets to display in the layout.
inherited protected $configPath : string
Specifies a path to the config directory.
inherited protected $controller : Backend\Classes\Controller
Backend controller object.
inherited
protected
static
$extendableCallbacks
:
array
= []
Used to extend the constructor of an extendable class. Eg:
Class::extend(function($obj) { })
inherited
protected
static
$extendableClassLoader
:
ClassLoader
|
null
= null
Class loader instance.
inherited
protected
$extendableConstructed
:
bool
= false
Indicates if the extendable constructor has completed.
inherited
protected
static
$extendableStaticMethods
:
array
= []
Collection of static methods used by behaviors.
inherited
protected
$extensionData
:
array
= {"extensions":[],"methods":[],"dynamicMethods":[],"dynamicProperties":[]}
Class reflection information, including behaviors.
inherited protected $fatalError : string
Object used for storing a fatal error.
inherited protected $layoutPath : string
Specifies a path to the layout directory.
inherited
protected
$localCallbacks
:
array
= []
This stores any locally-scoped callbacks fired before the extendable constructor had completed.
inherited
protected
$modelsToSave
:
array
= []
List of prepared models that require saving.
inherited protected $orderFactor : integer
Ensures "first-come, first-served" applies to assets of the same ordering.
inherited protected $viewPath : string | array
Specifies a path to the views directory.
Methods
public
addFields (array $fields, string $addToArea = null
)
: void
Programatically add fields, used internally and for extensibility.
Property | Type | Description |
---|---|---|
$fields | array |
array
|
$addToArea | string |
string
|
public addSecondaryTabFields (array $fields) : void
Property | Type | Description |
---|---|---|
$fields | array |
array
|
public addTabFields (array $fields) : void
Add tab fields.
Property | Type | Description |
---|---|---|
$fields | array |
array
|
public bindToController () : void
Ensure fields are defined and form widgets are registered so they can also be bound to the controller this allows their AJAX features to operate.
public getContext () : string
Returns the active context for displaying the form.
public getField (string $field) : mixed
Get a specified field object
Property | Type | Description |
---|---|---|
$field | string |
string
|
public getFields () : array
Get all the registered fields for the instance.
public getFormWidget (string $field) : mixed
Get a specified form widget
Property | Type | Description |
---|---|---|
$field | string |
string
|
public getFormWidgets () : array
Get all the loaded form widgets for the instance.
public getOptionsFromModel (mixed $field, mixed $fieldOptions) : mixed
Looks at the model for defined options.
Property | Type | Description |
---|---|---|
$field | mixed |
mixed
|
$fieldOptions | mixed |
mixed
|
public
getSaveData (boolean $includeAllFields = false
)
: array
Returns post data from a submitted form.
Property | Type | Description |
---|---|---|
$includeAllFields | boolean |
boolean
|
public getSessionKey () : Illuminate\Routing\Route | mixed | string
Returns the active session key.
public getTab ($tab) : mixed
Get a specified tab object.
Options: outside, primary, secondary.
Property | Type | Description |
---|---|---|
$tab | mixed |
mixed
|
public getTabs () : mixed
Get all tab objects for the instance.
public init ()
Initialize the widget, called by the constructor and free from its parameters.
public nameToId (mixed $input) : string
Helper method to convert a field name to a valid ID attribute.
Property | Type | Description |
---|---|---|
$input | mixed |
mixed
|
public onLazyLoadTab () : array
Renders all fields of a tab in the target tab-pane.
public onRefresh () : array
Event handler for refreshing the form.
public removeField (string $name) : bool
Programatically remove a field.
Property | Type | Description |
---|---|---|
$name | string |
string
|
public removeTab (string $name) : bool
Programatically remove all fields belonging to a tab.
Property | Type | Description |
---|---|---|
$name | string |
string
|
public
render (array $options = []
)
: string | bool
Renders the widget.
Options:
- preview: Render this form as an uneditable preview. Default: false
- useContainer: Wrap the result in a container, used by AJAX. Default: true
- section: Which form section to render. Default: null
- outside: Renders the Outside Fields section.
- primary: Renders the Primary Tabs section.
- secondary: Renders the Secondary Tabs section.
- null: Renders all sections
Property | Type | Description |
---|---|---|
$options | array |
array
|
The rendered partial contents, or false if suppressing an exception
public
renderField (string | array $field, array $options = []
)
: string | bool
Renders a single form field
Options:
- useContainer: Wrap the result in a container, used by AJAX. Default: true
Property | Type | Description |
---|---|---|
$field | string | array |
string | array
The field name or definition |
$options | array |
array
|
The rendered partial contents, or false if suppressing an exception
public renderFieldElement (FormWidgetBase $field) : string | bool
Renders the HTML element for a field
Property | Type | Description |
---|---|---|
$field | FormWidgetBase |
The rendered partial contents, or false if suppressing an exception
public
setFormValues (array $data = null
)
: array
Sets or resets form field values.
Property | Type | Description |
---|---|---|
$data | array |
array
|
protected applyFiltersFromModel ()
protected
dataArrayGet (array $array, array $parts, null $default = null
)
: array | null
Variant to array_get() but preserves dots in key names.
Property | Type | Description |
---|---|---|
$array | array |
array
|
$parts | array |
array
|
$default | null |
null
|
protected dataArraySet (array $array, array $parts, string $value) : array
Variant to array_set() but preserves dots in key names.
Property | Type | Description |
---|---|---|
$array | array |
array
|
$parts | array |
array
|
$value | string |
string
|
protected defineFormFields () : void
Creates a flat array of form fields from the configuration.
Also slots fields in to their respective tabs.
protected getFieldDepends (Backend\Classes\FormField $field) : string
Returns a HTML encoded value containing the other fields this field depends on
Property | Type | Description |
---|---|---|
$field | Backend\Classes\FormField |
protected getFieldName (string $field) : array
Parses a field's name
Property | Type | Description |
---|---|---|
$field | string |
string
Field name |
[columnName, context]
protected getFieldValue (mixed $field) : string
Looks up the field value.
Property | Type | Description |
---|---|---|
$field | mixed |
mixed
|
protected isFormWidget (string $fieldType) : bool
Check if a field type is a widget or not
Property | Type | Description |
---|---|---|
$fieldType | string |
string
|
protected loadAssets ()
Adds widget specific asset files. Use $this->addJs() and $this->addCss() to register new assets to include on the page.
protected
makeFormField (string $name, array $config = []
)
: FormField
Creates a form field object from name and configuration.
Property | Type | Description |
---|---|---|
$name | string |
string
|
$config | array |
array
|
protected makeFormFieldWidget (mixed $field) : Backend\Traits\FormWidgetBase | null
Makes a widget object from a form field object.
Property | Type | Description |
---|---|---|
$field | mixed |
mixed
|
protected objectMethodExists (object $object, string $method) : bool
Internal helper for method existence checks.
Property | Type | Description |
---|---|---|
$object | object |
object
|
$method | string |
string
|
protected prepareVars () : void
Prepares the form data
protected processAutoSpan ($fields) : void
Converts fields with a span set to 'auto' as either 'left' or 'right' depending on the previous field.
Property | Type | Description |
---|---|---|
$fields | mixed |
mixed
|
protected shouldFetchDefaultValues ()
Checks if default values should be taken from data.
This should be done when the model does not exist or when explicitly configured
protected showFieldLabels (Backend\Classes\FormField $field) : bool
Helper method to determine if field should be rendered with label and comments.
Property | Type | Description |
---|---|---|
$field | Backend\Classes\FormField |
protected validateModel () : mixed
Validate the supplied form model.
inherited public __call ($name, $params)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | mixed |
mixed
|
inherited public static __callStatic ($name, $params)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | mixed |
mixed
|
inherited
public
__construct (Backend\Classes\Controller $controller, array $configuration = []
)
Constructor
Property | Type | Description |
---|---|---|
$controller | Backend\Classes\Controller | |
$configuration | array |
array
Proactive configuration definition. |
inherited public __get ($name)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
inherited public __set ($name, $value)
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$value | mixed |
mixed
|
inherited
public
addCss (string | array $name, array $attributes = []
)
: void
Adds StyleSheet asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string | array |
string | array
When an array of paths are provided they will be passed to the Asset Combiner |
$attributes | array |
array
When a string is provided it will be used as the 'build' attribute value |
inherited
public
addDynamicMethod (string $dynamicName, callable $method, string $extension = null
)
Programmatically adds a method to the extendable class
Property | Type | Description |
---|---|---|
$dynamicName | string |
string
|
$method | callable |
callable
|
$extension | string |
string
|
inherited
public
addDynamicProperty (string $dynamicName, mixed $value = null
)
: void
Programmatically adds a property to the extendable class
Property | Type | Description |
---|---|---|
$dynamicName | string |
string
The name of the property to add |
$value | mixed |
mixed
The value of the property |
inherited
public
addJs (string | array $name, array $attributes = []
)
: void
Adds JavaScript asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string | array |
string | array
When an array of paths are provided they will be passed to the Asset Combiner |
$attributes | array |
array
When a string is provided it will be used as the 'build' attribute value |
inherited
public
addRss (string $name, array $attributes = []
)
: void
Adds an RSS link asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.
Property | Type | Description |
---|---|---|
$name | string |
string
|
$attributes | array |
array
|
inherited public addViewPath (string | array $path) : void
Prepends a path on the available view path locations.
Property | Type | Description |
---|---|---|
$path | string | array |
string | array
|
inherited
public
addVite (array | string $entrypoints, ?string $package = null
)
: void
Adds Vite tags
Property | Type | Description |
---|---|---|
$entrypoints | array | string |
array | string
The list of entry points for Vite |
$package | ?string |
?string
The package name of the plugin or theme |
inherited public asExtension (string $shortName) : mixed
Short hand for getClassExtension()
method, except takes the short
extension name, example:
$this->asExtension('FormController')
Property | Type | Description |
---|---|---|
$shortName | string |
string
|
inherited public static clearExtendedClasses () : void
Clear the list of extended classes so they will be re-extended.
inherited
public
combineAssets (array $assets, string $localPath = ""
)
: string
Run the provided assets through the Asset Combiner
Property | Type | Description |
---|---|---|
$assets | array |
array
|
$localPath | string |
string
|
inherited public extendClassWith (string $extensionName) : void
Dynamically extend a class with a specified behavior
Property | Type | Description |
---|---|---|
$extensionName | string |
string
|
inherited
public
static
extendableAddExtension (callable $callback, boolean $scoped = false
, $outerScope = null
)
: void
Extends the class using a closure.
The closure will be provided a single parameter which is the instance of the extended class, by default.
You may optionally specify the callback as a scoped callback, which inherits the scope of the extended class and
provides access to protected and private methods and properties. This makes any call using $this
act on the
extended class, not the class providing the extension.
If you use a scoped callback, you can provide the "outer" scope - or the scope of the class providing the extension, with the third parameter. The outer scope object will then be passed as the single parameter to the closure.
Property | Type | Description |
---|---|---|
$callback | callable |
callable
|
$scoped | boolean |
boolean
|
$outerScope | mixed |
mixed
|
inherited
public
extendableCall (string $name, array $params = null
)
: mixed
Magic method for __call()
.
Callback priority is as follows:
- "Dynamic Methods" added locally to the object via addDynamicMethod($name, $callable)
- Methods available on Behaviors that have been implemented by the object
- Pass it to the parent's __call() method if it defines one
Property | Type | Description |
---|---|---|
$name | string |
string
|
$params | array |
array
|
inherited
public
static
extendableCallStatic (string $name, array $params = null
)
: mixed
Magic method for __callStatic()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$params | array |
array
|
inherited public extendableConstruct ()
This method should be called as part of the constructor.
inherited
public
static
extendableExtendCallback (callable $callback, boolean $scoped = false
, $outerScope = null
)
: void
Helper method for ::extend()
static method.
Property | Type | Description |
---|---|---|
$callback | callable |
callable
|
$scoped | boolean |
boolean
|
$outerScope | mixed |
mixed
|
inherited public extendableGet (string $name) : mixed | null
Magic method for __get()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited public extendableSet (string $name, mixed $value) : void
Magic method for __set()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$value | mixed |
mixed
|
inherited
public
fireSystemEvent (string $event, array $params = []
, boolean $halt = true
)
: mixed
Fires a combination of local and global events. The first segment is removed from the event name locally and the local object is passed as the first argument to the event globally. Halting is also enabled by default.
For example:
$this->fireSystemEvent('backend.list.myEvent', ['my value']);
Is equivalent to:
$this->fireEvent('list.myEvent', ['myvalue'], true);
Event::fire('backend.list.myEvent', [$this, 'myvalue'], true);
Property | Type | Description |
---|---|---|
$event | string |
string
Event name |
$params | array |
array
Event parameters |
$halt | boolean |
boolean
Halt after first non-null result |
inherited
public
fireViewEvent (string $event, array $params = []
)
: string
Special event function used for extending within view files, allowing HTML to be injected multiple times.
For example:
= $this->fireViewEvent('backend.auth.extendSigninView') ?>Property | Type | Description |
---|---|---|
$event | string |
string
Event name |
$params | array |
array
Event parameters |
inherited public flushAssets () : void
Disables the use, and subequent broadcast, of assets. This is useful to call during an AJAX request to speed things up. This method works by specifically targeting the hasAssetsDefined method.
inherited
public
getAssetPath (string $fileName, $assetPath = null
)
: string
Returns the URL to the provided asset. If the provided fileName is a relative path without a leading slash it will be assumbed to be relative to the asset path.
Property | Type | Description |
---|---|---|
$fileName | string |
string
|
$assetPath | mixed |
mixed
|
inherited public getAssetPaths () : array
Returns an array of all registered asset paths.
Assets will be prioritized based on their defined ordering.
inherited public getClassExtension (string $name) : mixed
Returns a behavior object from an extendable class, example:
$this->getClassExtension('Backend.Behaviors.FormController')
Property | Type | Description |
---|---|---|
$name | string |
string
Fully qualified behavior name |
inherited public getClassMethods () : array
Get a list of class methods, extension equivalent of get_class_methods()
inherited
public
getConfig (string $name, string $default = null
)
: string
Safe accessor for configuration values.
Property | Type | Description |
---|---|---|
$name | string |
string
Config name, supports array names like "field[key]" |
$default | string |
string
Default value if nothing is found |
inherited
public
getConfigPath (string $fileName, mixed $configPath = null
)
: string
Locates a file based on it's definition. If the file starts with the ~ symbol it will be returned in context of the application base path, otherwise it will be returned in context of the config path.
Property | Type | Description |
---|---|---|
$fileName | string |
string
File to load. |
$configPath | mixed |
mixed
Explicitly define a config path. |
Full path to the config file.
inherited public getController ()
Returns the controller using this widget.
inherited public getDynamicProperties () : array
Returns all dynamic properties and their values
['property' => 'value']
inherited public getEventHandler (string $name) : string
Returns a fully qualified event handler name for this widget.
Property | Type | Description |
---|---|---|
$name | string |
string
The ajax event handler name. |
inherited public getFatalError () : string
The fatal error message
inherited
public
getId (string $suffix = null
)
: string
Returns a unique ID for this widget. Useful in creating HTML markup.
Property | Type | Description |
---|---|---|
$suffix | string |
string
An extra string to append to the ID. |
A unique identifier.
inherited
public
getViewPath (string $fileName, $viewPaths = null
)
: string
Locates a file based on its definition. The file name can be prefixed with a symbol (~|$) to return in context of the application or plugin base path, otherwise it will be returned in context of this object view path.
If the fileName cannot be found it will be returned unmodified.
Property | Type | Description |
---|---|---|
$fileName | string |
string
|
$viewPaths | mixed |
mixed
|
inherited public getViewPaths () : array
Returns the active view path locations.
inherited
public
guessConfigPath (string $suffix = ""
)
: string
Guess the package path for the called class.
Property | Type | Description |
---|---|---|
$suffix | string |
string
An extra path to attach to the end |
inherited
public
guessConfigPathFrom (string $class, string $suffix = ""
)
: string
Guess the package path from a specified class.
Property | Type | Description |
---|---|---|
$class | string |
string
Class to guess path from. |
$suffix | string |
string
An extra path to attach to the end |
inherited
public
guessViewPath (string $suffix = ""
, boolean $isPublic = false
)
: string | null
Guess the package path for the called class.
Property | Type | Description |
---|---|---|
$suffix | string |
string
An extra path to attach to the end |
$isPublic | boolean |
boolean
Returns public path instead of an absolute one |
inherited
public
guessViewPathFrom (string $class, string $suffix = ""
, boolean $isPublic = false
)
: string | null
Guess the package path from a specified class.
Property | Type | Description |
---|---|---|
$class | string |
string
Class to guess path from. |
$suffix | string |
string
An extra path to attach to the end |
$isPublic | boolean |
boolean
Returns public path instead of an absolute one |
inherited public handleError ($exception)
Sets standard page variables in the case of a controller error.
Property | Type | Description |
---|---|---|
$exception | mixed |
mixed
|
inherited public hasAssetsDefined () : bool
Returns true if assets any have been added.
inherited public hasFatalError () : bool
Whether a fatal error has been set or not.
inherited public isClassExtendedWith (string $name) : bool
Check if extendable class is extended with a behavior object
Property | Type | Description |
---|---|---|
$name | string |
string
Fully qualified behavior name |
inherited
public
makeAssets ($type = null
)
: string | null
Outputs <link>
and <script>
tags to load assets previously added
with addJs, addCss, & addRss method calls depending on the provided $type
Property | Type | Description |
---|---|---|
$type | mixed |
mixed
|
inherited
public
makeConfig (array $configFile = []
, array $requiredConfig = []
)
: array | stdClass
Reads the contents of the supplied file and applies it to this object.
Property | Type | Description |
---|---|---|
$configFile | array |
array
|
$requiredConfig | array |
array
|
inherited
public
makeConfigFromArray (array $configArray = []
)
: stdClass
Makes a config object from an array, making the first level keys properties of a new object.
Property | Type | Description |
---|---|---|
$configArray | array |
array
Config array. |
The config object
inherited
public
makeFileContents (string $filePath, array $extraParams = []
)
: string
Includes a file path using output buffering, making the provided vars available.
Property | Type | Description |
---|---|---|
$filePath | string |
string
|
$extraParams | array |
array
|
inherited
public
makeFormWidget (string $class, array $fieldConfig = []
, array $widgetConfig = []
)
: Backend\Classes\FormWidgetBase
Makes a form widget object with the supplied form field and widget configuration.
Property | Type | Description |
---|---|---|
$class | string |
string
Widget class name |
$fieldConfig | array |
array
A field name, an array of config or a FormField object. |
$widgetConfig | array |
array
An array of config. |
The widget object
inherited
public
makeLayout ($name = null
, array $params = []
, boolean $throwException = true
)
: string | bool
Render a layout, defaulting to the layout propery specified on the class
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
$params | array |
array
|
$throwException | boolean |
boolean
|
The layout contents, or false.
inherited
public
makeLayoutPartial (string $partial, array $params = []
)
: string
Renders a layout partial
Property | Type | Description |
---|---|---|
$partial | string |
string
|
$params | array |
array
|
inherited
public
makePartial (string $partial, array $params = []
, boolean $throwException = true
)
: mixed
Render a partial file contents located in the views folder.
Property | Type | Description |
---|---|---|
$partial | string |
string
|
$params | array |
array
|
$throwException | boolean |
boolean
|
Partial contents or false if not throwing an exception.
inherited public makeView (string $view) : string
Loads the specified view. Applies the layout if one is set.
The view file must have the .php extension (or ".htm" for historical reasons) and be located in the views directory
Property | Type | Description |
---|---|---|
$view | string |
string
|
inherited
public
makeViewContent (string $contents, $layout = null
)
: string
Renders supplied contents inside a layout.
Property | Type | Description |
---|---|---|
$contents | string |
string
|
$layout | mixed |
mixed
|
inherited
public
makeWidget (string $class, array $widgetConfig = []
)
: mixed | Backend\Classes\WidgetBase
Makes a widget object with the supplied configuration file.
Property | Type | Description |
---|---|---|
$class | string |
string
Widget class name |
$widgetConfig | array |
array
An array of config. |
The widget object
inherited public mergeConfig (mixed $configA, mixed $configB) : stdClass
Merges two configuration sources, either prepared or not, and returns them as a single configuration object.
Property | Type | Description |
---|---|---|
$configA | mixed |
mixed
|
$configB | mixed |
mixed
|
The config object
inherited public methodExists (string $name) : bool
Checks if a method exists, extension equivalent of method_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited public orderAssets (array $assets) : array
Prioritize assets based on the given order.
Property | Type | Description |
---|---|---|
$assets | array |
array
|
inherited public propertyExists (string $name) : bool
Checks if a property exists, extension equivalent of property_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited public resetSession () : void
Resets all session data related to this widget.
inherited protected addAsset (string $type, string $path, array $attributes) : void
Adds the provided asset to the internal asset collections
Property | Type | Description |
---|---|---|
$type | string |
string
|
$path | string |
string
|
$attributes | array |
array
|
inherited protected deferPurgedSaveAttributes (Winter\Storm\Database\Model $model, array $attributesToPurge) : void
Removes an array of attributes from the model. If the model implements the Purgeable trait, this is preferred over the internal logic.
Property | Type | Description |
---|---|---|
$model | Winter\Storm\Database\Model |
Model to adjust. |
$attributesToPurge | array |
array
Attribute values to remove from the model. |
inherited
protected
extendableAddLocalExtension (Closure $callback, $outerScope = null
)
Adds local extensibility to the current instance.
This rebinds a given closure to the current instance, making it able to access protected and private methods. This
makes any call using $this
within the closure act on the extended class, not the class providing the extension.
An outer scope may be provided by providing a second parameter, which will then be passed through to the closure as its first parameter. If this is not given, the current instance will be provided as the first parameter.
Property | Type | Description |
---|---|---|
$callback | Closure |
Closure
|
$outerScope | mixed |
mixed
|
inherited protected extendableIsAccessible (mixed $class, string $propertyName) : bool
Checks if a property is accessible, property equivalent of is_callable()
Property | Type | Description |
---|---|---|
$class | mixed |
mixed
|
$propertyName | string |
string
|
inherited protected extensionCallMethod (ReflectionClass $class, string $method, array $params)
Calls a method through reflection.
Property | Type | Description |
---|---|---|
$class | ReflectionClass |
ReflectionClass
|
$method | string |
string
|
$params | array |
array
|
inherited protected extensionExtractMethods (string $extensionName, object $extensionObject) : void
Extracts the available methods from a behavior and adds it to the list of callable methods.
Property | Type | Description |
---|---|---|
$extensionName | string |
string
|
$extensionObject | object |
object
|
inherited protected extensionGetClassLoader () : Winter\Storm\Support\ClassLoader | null
Gets the class loader
inherited
protected
extensionGetParentClass ($instance = null
)
: ReflectionClass | false
Gets the parent class using reflection.
The parent class must either not be the Extendable
class, or must not be using the ExtendableTrait
trait,
in order to prevent infinite loops.
Property | Type | Description |
---|---|---|
$instance | mixed |
mixed
|
inherited protected extensionMethodExists (ReflectionClass $class, string $methodName) : bool
Determines if the given class reflection contains the given method.
Property | Type | Description |
---|---|---|
$class | ReflectionClass |
ReflectionClass
|
$methodName | string |
string
|
inherited protected extensionNormalizeClassName (string $name) : string
Normalizes the provided extension name allowing for the ClassLoader to inject aliased classes
Property | Type | Description |
---|---|---|
$name | string |
string
|
inherited
protected
fillFromConfig (array $properties = null
)
: void
Transfers config values stored inside the $config property directly on to the root object properties. If no properties are defined all config will be transferred if it finds a matching property.
Property | Type | Description |
---|---|---|
$properties | array |
array
|
inherited protected getAssetEntryBuildPath (array $asset) : string
Internal helper, attaches a build code to an asset path
Property | Type | Description |
---|---|---|
$asset | array |
array
|
inherited protected getAssetScheme (string $asset) : string
Internal helper, get asset scheme
Property | Type | Description |
---|---|---|
$asset | string |
string
|
inherited protected getLocalPath (string | null $relativePath) : string
Property | Type | Description |
---|---|---|
$relativePath | string | null |
string | null
|
inherited
protected
getSession (string $key = null
, string $default = null
)
: string
Retrieves a widget related key/value pair from session data.
Property | Type | Description |
---|---|---|
$key | string |
string
Unique key for the data store. |
$default | string |
string
A default value to use when value is not found. |
inherited protected handleViewException (Throwable $e, integer $obLevel) : void
Handle a view exception.
Property | Type | Description |
---|---|---|
$e | Throwable |
Throwable
|
$obLevel | integer |
integer
|
inherited protected makeSessionId () : string
Returns a unique session identifier for this widget and controller action.
inherited protected prepareModelsToSave (Winter\Storm\Database\Model $model, array $saveData) : array
Takes a model and fills it with data from a multidimensional array.
If an attribute is found to be a relationship, that relationship is also filled.
$modelsToSave = $this->prepareModelsToSave($model, [...]);
foreach ($modelsToSave as $modelToSave) {
$modelToSave->save();
}
Property | Type | Description |
---|---|---|
$model | Winter\Storm\Database\Model |
Model to fill. |
$saveData | array |
array
Attribute values to fill model. |
The collection of models to save.
inherited protected putSession (string $key, mixed $value) : void
Saves a widget related key/value pair in to session data.
Property | Type | Description |
---|---|---|
$key | string |
string
Unique key for the data store. |
$value | mixed |
mixed
The value to store. |
inherited protected removeDuplicates () : void
Removes duplicate assets from the entire collection.
inherited protected setModelAttributes (Winter\Storm\Database\Model $model, array $saveData) : void
Sets a data collection to a model attributes, relations are also set.
Property | Type | Description |
---|---|---|
$model | Winter\Storm\Database\Model |
Model to fill. |
$saveData | array |
array
Attribute values to fill model. |