Content
The CMS content file class.
class Cms\Classes\Content
extends Cms\Classes\CmsCompoundObject
implements
Cms\Contracts\CmsObject,
Winter\Storm\Halcyon\ModelInterface,
ArrayAccess,
Illuminate\Contracts\Support\Arrayable,
Illuminate\Contracts\Support\Jsonable,
JsonSerializable
Traits
Trait | Description |
---|---|
Emitter
|
Adds 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. |
Validation
|
Properties
protected
$allowedExtensions
:
array
= ["htm","txt","md"]
Allowable file extensions.
protected
$dirName
:
string
= "content"
The container name associated with the model, eg: pages.
protected
$purgeable
:
array
= ["parsedMarkup"]
List of attribute names which are not considered "settings".
public
$attributeNames
:
array
= []
The array of custom attribute names.
public
$attributes
:
array
= []
The model's attributes, saved to the settings area.
public
$components
:
array
= []
Initialized components defined in the template file.
public
$customMessages
:
array
= []
The array of custom error messages.
public
$exists
:
bool
= false
Indicates if the model exists.
public
$implement
:
string
|
array
|
null
= null
Extensions implemented by this class.
public
$rules
:
array
= []
The rules to be applied to the data.
public
$settings
:
array
= {"components":[]}
INI settings defined in the template file. Not to be confused with the attribute called settings. In this array, components are bumped to their own array inside the 'components' key.
public
$viewBag
:
array
= []
Contains the view bag properties. This property is used by the page editor internally.
protected
$appends
:
array
= []
The accessors to append to the model's array form.
protected
static
$booted
:
array
= []
The array of booted models.
protected static $cache : Illuminate\Cache\CacheManager | null
The cache manager instance.
protected $datasource : string | null
The data source for the model, a directory path.
protected
$defaultExtension
:
string
= "htm"
Default file extension.
protected static $dispatcher : Winter\Storm\Events\Dispatcher | null
The event dispatcher instance.
protected
$emitterEventCollection
:
array
= []
Collection of registered events.
protected
$emitterEventSorted
:
array
= []
Sorted collection of events.
protected
$emitterSingleEventCollection
:
array
= []
Collection of registered events to be fired once only.
protected
static
$eventsBooted
:
array
= []
The array of models booted events.
protected
static
$extendableCallbacks
:
array
= []
Used to extend the constructor of an extendable class. Eg:
Class::extend(function($obj) { })
protected
static
$extendableClassLoader
:
ClassLoader
|
null
= null
Class loader instance.
protected
static
$extendableGuardProperties
:
bool
= true
Indicates if dynamic properties can be created.
protected
static
$extendableStaticMethods
:
array
= []
Collection of static methods used by behaviors.
protected
$extensionData
:
array
= {"extensions":[],"methods":[],"dynamicMethods":[],"dynamicProperties":[]}
Class reflection information, including behaviors.
protected
$fillable
:
array
= ["markup","settings","code"]
The attributes that are mass assignable.
protected
$isCompoundObject
:
bool
= true
Model supports code and settings sections.
protected
$loadedFromCache
:
bool
= false
Indicated whether the object was loaded from the cache.
protected
$maxNesting
:
int
= null
The maximum allowed path nesting level. The default value is 2, meaning that files can only exist in the root directory, or in a subdirectory. Set to null if any level is allowed.
protected
static
$mutatorCache
:
array
= []
The cache of the mutated attributes for each class.
protected static $objectComponentPropertyMap : array | null
Cache for component properties.
protected
$observables
:
array
= []
User exposed observable events.
protected
$original
:
array
= []
The model attribute's original state.
protected
$passthru
:
array
= ["lists","where","sortBy","whereComponent","withComponent"]
The methods that should be returned from the collection of all objects.
protected static $resolver : Winter\Storm\Halcyon\Datasource\ResolverInterface | null
The datasource resolver instance.
protected $themeCache : Cms\Classes\Theme
A reference to the CMS theme containing the object.
protected $validationErrors : Illuminate\Support\MessageBag
The message bag instance containing validation error messages
protected static $validator : Illuminate\Validation\Validator
The validator instance.
protected
$viewBagCache
:
mixed
= false
Cache store for the getViewBag method.
protected
$wrapCode
:
bool
= true
Wrap code section in PHP tags.
Methods
public getParsedMarkupAttribute () : string
Returns a default value for parsedMarkup attribute.
public static initCacheItem (array $item)
Initializes the object properties from the cached data. The extra data set here becomes available as attributes set on the model after fetch.
Property | Type | Description |
---|---|---|
$item | array |
array
The cached data array. |
public parseMarkup () : string
Parses the content markup according to the file type.
public __call (string $method, array $parameters) : mixed
Dynamically handle calls into the query instance.
Property | Type | Description |
---|---|---|
$method | string |
string
|
$parameters | array |
array
|
public static __callStatic (string $method, array $parameters) : mixed
Handle dynamic static method calls into the method.
Property | Type | Description |
---|---|---|
$method | string |
string
|
$parameters | array |
array
|
public
__construct (array $attributes = []
)
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
public __get ($name)
Implements getter functionality for visible properties defined in the settings section or view bag array.
Property | Type | Description |
---|---|---|
$name | mixed |
mixed
|
public __isset (string $key) : bool
Determine if an attribute exists on the object.
Property | Type | Description |
---|---|---|
$key | string |
string
|
public __set (string $key, mixed $value) : void
Dynamically set attributes on the model.
Property | Type | Description |
---|---|---|
$key | string |
string
|
$value | mixed |
mixed
|
public __toString () : string
Convert the model to its string representation.
public __unset (string $key) : void
Unset an attribute on the model.
Property | Type | Description |
---|---|---|
$key | string |
string
|
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
|
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 |
public addObservableEvents (array | mixed $observables) : void
Add an observable event name.
Property | Type | Description |
---|---|---|
$observables | array | mixed |
array | mixed
|
public
addPurgeable (array | string | null $attributes = null
)
: $this
Adds an attribute to the purgeable attributes list
Property | Type | Description |
---|---|---|
$attributes | array | string | null |
array | string | null
|
public afterFetch () : void
Triggered after the object is loaded.
public static all () : Winter\Storm\Halcyon\Collection
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
|
public attributesToArray () : array
Convert the model's attributes to an array.
public beforeSave () : void
Triggered when the model is saved.
public
bindEvent (string | Closure | QueuedClosure $event, mixed $callback = null
, integer $priority)
: self
Create a new event binding.
Property | Type | Description |
---|---|---|
$event | string | Closure | QueuedClosure |
string | Closure | QueuedClosure
|
$callback | mixed |
mixed
when the third parameter is omitted and a Closure or QueuedClosure is provided this parameter is used as an integer this is used as priority variable |
$priority | integer |
integer
|
public
bindEventOnce (string | Closure | QueuedClosure $event, QueuedClosure | Closure | null $callback = null
)
: self
Create a new event binding that fires once only
Property | Type | Description |
---|---|---|
$event | string | Closure | QueuedClosure |
string | Closure | QueuedClosure
|
$callback | QueuedClosure | Closure | null |
QueuedClosure | Closure | null
When a Closure or QueuedClosure is provided as the first parameter this parameter can be omitted |
public static bootValidation () : void
Boot the validation trait for this model.
public static cacheMutatedAttributes (string $class) : void
Extract and cache all the mutated attributes of a class.
Property | Type | Description |
---|---|---|
$class | string |
string
|
public static clearBootedModels () : void
Clear the list of booted models so they will be re-booted.
public static clearCache (Cms\Classes\Theme $theme) : void
Clears the object cache.
Property | Type | Description |
---|---|---|
$theme | Cms\Classes\Theme |
Specifies a parent theme. |
public static clearExtendedClasses () : void
Clear the list of extended classes so they will be re-extended.
public
static
create (array $attributes = []
)
: static
Save a new model and return the instance.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
public static created (Closure | string $callback, integer $priority) : void
Register a created model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public static creating (Closure | string $callback, integer $priority) : void
Register a creating model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public delete () : bool | null
Delete the model from the database.
public static deleted (Closure | string $callback, integer $priority) : void
Register a deleted model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public static deleting (Closure | string $callback, integer $priority) : void
Register a deleting model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public errors () : Illuminate\Support\MessageBag
Get validation error message collection for the Model
public extendClassWith (string $extensionName) : void
Dynamically extend a class with a specified behavior
Property | Type | Description |
---|---|---|
$extensionName | string |
string
|
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
|
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
|
public
static
extendableCallStatic (string $name, array $params = null
)
: mixed
Magic method for __callStatic()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$params | array |
array
|
public extendableConstruct ()
This method should be called as part of the constructor.
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
|
public extendableGet (string $name) : mixed | null
Magic method for __get()
Property | Type | Description |
---|---|---|
$name | string |
string
|
public extendableSet (string $name, mixed $value) : void
Magic method for __set()
Property | Type | Description |
---|---|---|
$name | string |
string
|
$value | mixed |
mixed
|
public static fetched (Closure | string $callback) : void
Create a new native event for handling afterFetch().
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
public static fetching (Closure | string $callback) : void
Create a new native event for handling beforeFetch().
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
public fill (array $attributes) : $this
Fill the model with an array of attributes.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
public
fireEvent (string $event, array $params = []
, boolean $halt = false
)
: array | mixed | null
Fire an event and call the listeners.
Property | Type | Description |
---|---|---|
$event | string |
string
Event name |
$params | array |
array
Event parameters |
$halt | boolean |
boolean
Halt after first non-null result |
If halted, the first non-null result. If not halted, an array of event results. Returns null if no listeners returned a result.
public static flushDuplicateCache () : void
Flush the memory cache.
public static flushEventListeners () : void
Remove all of the event listeners for the model.
public
forceSave ($options = null
)
: bool
Force save the model even if validation fails.
Property | Type | Description |
---|---|---|
$options | mixed |
mixed
|
public getAllowedExtensions () : array
Returns the allowable file extensions supported by this model.
public getAttribute (string $key) : mixed
Get a plain attribute.
Property | Type | Description |
---|---|---|
$key | string |
string
|
public getAttributes () : array
Get all of the current attributes on the model.
public getBaseFileName () : string
Returns the file name without the extension.
public getBaseFileNameAttribute () : string
Returns the file name without the extension.
public static getCacheManager () : Illuminate\Cache\CacheManager | null
Get the cache manager instance.
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 |
public getClassMethods () : array
Get a list of class methods, extension equivalent of get_class_methods()
public getComponent (string $componentName) : Cms\Classes\ComponentBase
Returns a component by its name.
This method is used only in the back-end and for internal system needs when the standard way to access components is not an option.
Property | Type | Description |
---|---|---|
$componentName | string |
string
Specifies the component name. |
Returns the component instance or null.
public getComponentProperties (string $componentName) : array
Returns component property names and values.
This method implements caching and can be used in the run-time on the front-end.
Property | Type | Description |
---|---|---|
$componentName | string |
string
Specifies the component name. |
Returns an associative array with property names in the keys and property values in the values.
public getContent () : string
Returns the file content.
public getDatasource () : Winter\Storm\Halcyon\Datasource\DatasourceInterface
public getDatasourceName () : string
Get the current datasource name for the model.
public static getDatasourceResolver () : Winter\Storm\Halcyon\Datasource\ResolverInterface
public getDirty () : array
Get the attributes that have been changed since last sync.
public getDynamicProperties () : array
Returns all dynamic properties and their values
['property' => 'value']
public static getEventDispatcher () : Winter\Storm\Events\Dispatcher
public getFileName () : string
Returns the file name.
public
getFileNameParts ($fileName = null
)
Returns the base file name and extension. Applies a default extension, if none found.
Property | Type | Description |
---|---|---|
$fileName | mixed |
mixed
|
public
getFilePath (string $fileName = null
)
: string
Returns the full path to the template file corresponding to this object.
Property | Type | Description |
---|---|---|
$fileName | string |
string
|
public getId () : string
Helper for {{ page.id }} or {{ layout.id }} twig vars Returns a unique string for this object.
public getIdAttribute () : string
Helper for {{ page.id }} or {{ layout.id }} twig vars Returns a semi-unique string for this object.
public getMaxNesting () : int
Returns the maximum directory nesting allowed by this template.
public static getModelValidator () : Illuminate\Validation\Validator
Get the validator instance.
public getMutatedAttributes () : array
Get the mutated attributes for a given instance.
public getObjectTypeDirName () : string
Returns the directory name corresponding to the object type.
For pages the directory name is "pages", for layouts - "layouts", etc.
public getObservableEvents () : array
Get the observable event names.
public
getOriginal (string | null $key = null
, mixed $default = null
)
: array
Get the model's original attribute values.
Property | Type | Description |
---|---|---|
$key | string | null |
string | null
|
$default | mixed |
mixed
|
public getSettingsAttribute () : array
The settings is attribute contains everything that should be saved to the settings area.
public getThemeAttribute () : Cms\Classes\Theme
public getTwigCacheKey () : string
Returns the key used by the Twig cache.
public getTwigContent () : string
Returns the Twig content string
public
getTwigNodeTree (boolean $markup = false
)
: Twig\Node\ModuleNode
Returns Twig node tree generated from the object's markup.
This method is used by the system internally and shouldn't participate in the front-end request processing.
Property | Type | Description |
---|---|---|
$markup | boolean |
boolean
Specifies the markup content. Use FALSE to load the content from the markup section. |
A node tree
public getViewBag () : Cms\Components\ViewBag
Returns the configured view bag component.
This method is used only in the back-end and for internal system needs when the standard way to access components is not an option.
Returns the view bag component instance.
public getWrapCode () : bool
Returns true if the code section will be wrapped in PHP tags.
public hasComponent (string $componentName) : mixed
Checks if the object has a component with the specified name.
Property | Type | Description |
---|---|---|
$componentName | string |
string
Specifies the component name. |
Return false or the full component name used on the page (it could include the alias).
public hasGetMutator (string $key) : bool
Determine if a get mutator exists for an attribute.
Property | Type | Description |
---|---|---|
$key | string |
string
|
public hasSetMutator (string $key) : bool
Determine if a set mutator exists for an attribute.
Property | Type | Description |
---|---|---|
$key | string |
string
|
public
static
hydrate (array $items, string | null $datasource = null
)
: Winter\Storm\Halcyon\Collection
Create a collection of models from plain arrays.
Property | Type | Description |
---|---|---|
$items | array |
array
|
$datasource | string | null |
string | null
|
public static inTheme (Cms\Classes\Theme $theme) : $this
Prepares the theme datasource for the model.
Property | Type | Description |
---|---|---|
$theme | Cms\Classes\Theme |
Specifies a parent theme. |
public isAttributeRequired (string $attribute) : bool
Determines if an attribute is required based on the validation rules.
Property | Type | Description |
---|---|---|
$attribute | string |
string
|
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 |
public isCompoundObject () : bool
Returns true if this template supports code and settings sections.
public
isDirty (array | string | null $attributes = null
)
: bool
Determine if the model or given attribute(s) have been modified.
Property | Type | Description |
---|---|---|
$attributes | array | string | null |
array | string | null
|
public isFillable (string $key) : bool
Determine if the given attribute may be mass assigned.
Property | Type | Description |
---|---|---|
$key | string |
string
|
public isLoadedFromCache () : bool
Returns true if the object was loaded from the cache.
public jsonSerialize () : array
Convert the object into something JSON serializable.
public
static
listInTheme (Cms\Classes\Theme $theme, boolean $skipCache = false
)
: CmsObjectCollection
Returns the list of objects in the specified theme.
This method is used internally by the system.
Property | Type | Description |
---|---|---|
$theme | Cms\Classes\Theme |
Specifies a parent theme. |
$skipCache | boolean |
boolean
Indicates if objects should be reloaded from the disk bypassing the cache. |
Returns a collection of CMS objects.
public static load (mixed $theme, string $fileName) : mixed
Loads the object from a file.
This method is used in the CMS back-end. It doesn't use any caching.
Property | Type | Description |
---|---|---|
$theme | mixed |
mixed
Specifies the theme the object belongs to. |
$fileName | string |
string
Specifies the file name, with the extension. The file name can contain only alphanumeric symbols, dashes and dots. |
Returns a CMS object instance or null if the object wasn't found.
public static loadCached (Cms\Classes\Theme $theme, string $fileName) : mixed
Loads the object from a cache.
This method is used by the CMS in the runtime. If the cache is not found, it is created.
Property | Type | Description |
---|---|---|
$theme | Cms\Classes\Theme |
Specifies the theme the object belongs to. |
$fileName | string |
string
Specifies the file name, with the extension. |
Returns a CMS object instance or null if the object wasn't found.
public methodExists (string $name) : bool
Checks if a method exists, extension equivalent of method_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
public
newCollection (array $models = []
)
: Winter\Storm\Halcyon\Collection
Create a new Collection instance.
Property | Type | Description |
---|---|---|
$models | array |
array
|
public
newFromBuilder (array $attributes = []
, string | null $datasource = null
)
: static
Create a new model instance that is existing.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
$datasource | string | null |
string | null
|
public
newInstance (array $attributes = []
, boolean $exists = false
)
: static
Create a new instance of the given model.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
$exists | boolean |
boolean
|
public newQuery () : Winter\Storm\Halcyon\Builder
public offsetExists (mixed $offset) : bool
Determine if the given attribute exists.
Property | Type | Description |
---|---|---|
$offset | mixed |
mixed
|
public offsetGet (mixed $offset) : mixed
Get the value for a given offset.
Property | Type | Description |
---|---|---|
$offset | mixed |
mixed
|
public offsetSet (mixed $offset, mixed $value) : void
Set the value for a given offset.
Property | Type | Description |
---|---|---|
$offset | mixed |
mixed
|
$value | mixed |
mixed
|
public offsetUnset (mixed $offset) : void
Unset the value for a given offset.
Property | Type | Description |
---|---|---|
$offset | mixed |
mixed
|
public
static
on (string | null $datasource = null
)
: Winter\Storm\Halcyon\Model
Begin querying the model on a given datasource.
Property | Type | Description |
---|---|---|
$datasource | string | null |
string | null
|
public propertyExists (string $name) : bool
Checks if a property exists, extension equivalent of property_exists()
Property | Type | Description |
---|---|---|
$name | string |
string
|
public static query () : Winter\Storm\Halcyon\Builder
public removeObservableEvents (array | mixed $observables) : void
Remove an observable event name.
Property | Type | Description |
---|---|---|
$observables | array | mixed |
array | mixed
|
public
static
resolveDatasource (string | null $datasource = null
)
: Winter\Storm\Halcyon\Datasource\DatasourceInterface
Resolve a datasource instance.
Property | Type | Description |
---|---|---|
$datasource | string | null |
string | null
|
public runComponents () : void
Runs components defined in the settings Process halts if a component returns a value
public
save (array $options = null
)
: bool
Save the object to the theme.
Property | Type | Description |
---|---|---|
$options | array |
array
|
public
saveInternal (array $options = []
)
: bool
Save the model to the database. Is used by {@link save()} and {@link forceSave()}.
Property | Type | Description |
---|---|---|
$options | array |
array
|
public static saved (Closure | string $callback, integer $priority) : void
Register a saved model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public static saving (Closure | string $callback, integer $priority) : void
Register a saving model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public setAttribute (string $key, mixed $value) : $this
Set a given attribute on the model.
Property | Type | Description |
---|---|---|
$key | string |
string
|
$value | mixed |
mixed
|
public static setCacheManager (Illuminate\Cache\CacheManager $cache) : void
Set the cache manager instance.
Property | Type | Description |
---|---|---|
$cache | Illuminate\Cache\CacheManager |
Illuminate\Cache\CacheManager
|
public setDatasource (string $name) : $this
Set the datasource associated with the model.
Property | Type | Description |
---|---|---|
$name | string |
string
|
public static setDatasourceResolver (Winter\Storm\Halcyon\Datasource\ResolverInterface $resolver) : void
Set the datasource resolver instance.
Property | Type | Description |
---|---|---|
$resolver | Winter\Storm\Halcyon\Datasource\ResolverInterface |
Winter\Storm\Halcyon\Datasource\ResolverInterface
|
public static setEventDispatcher (Illuminate\Contracts\Events\Dispatcher $dispatcher) : void
Set the event dispatcher instance.
Property | Type | Description |
---|---|---|
$dispatcher | Illuminate\Contracts\Events\Dispatcher |
Illuminate\Contracts\Events\Dispatcher
|
public setFileNameAttribute (mixed $value)
File name should always contain an extension.
Property | Type | Description |
---|---|---|
$value | mixed |
mixed
|
public setLoadedFromCache ($value) : void
Returns true if the object was loaded from the cache.
Property | Type | Description |
---|---|---|
$value | mixed |
mixed
|
public static setModelValidator ($validator) : void
Set the validator instance.
Property | Type | Description |
---|---|---|
$validator | mixed |
mixed
|
public setObservableEvents (array $observables) : $this
Set the observable event names.
Property | Type | Description |
---|---|---|
$observables | array |
array
|
public
setRawAttributes (array $attributes, boolean $sync = false
)
: $this
Set the array of model attributes. No checking is done.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
$sync | boolean |
boolean
|
public setSettingsAttribute (mixed $value)
Filling the settings should merge it with attributes.
Property | Type | Description |
---|---|---|
$value | mixed |
mixed
|
public syncOriginal () : $this
Sync the original attributes with the current.
public syncOriginalAttribute (string $attribute) : $this
Sync a single original attribute with its current value.
Property | Type | Description |
---|---|---|
$attribute | string |
string
|
public toArray () : array
Convert the model instance to an array.
public toJson (integer $options) : string
Convert the model instance to JSON.
Property | Type | Description |
---|---|---|
$options | integer |
integer
|
public
unbindEvent (string | array | object $event = null
)
: self
Destroys an event binding.
Property | Type | Description |
---|---|---|
$event | string | array | object |
string | array | object
Event to destroy |
public static unsetCacheManager () : void
Unset the cache manager for models.
public static unsetDatasourceResolver () : void
Unset the datasource resolver for models.
public static unsetEventDispatcher () : void
Unset the event dispatcher for models.
public static unsetModelValidator () : void
Unset the validator for models.
public
update (array $attributes = []
)
: bool | int
Update the model in the database.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
public static updated (Closure | string $callback, integer $priority) : void
Register an updated model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public static updating (Closure | string $callback, integer $priority) : void
Register an updating model event with the dispatcher.
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
public
validate ($rules = null
, $customMessages = null
, $attributeNames = null
)
: bool
Validate the model instance
Property | Type | Description |
---|---|---|
$rules | mixed |
mixed
|
$customMessages | mixed |
mixed
|
$attributeNames | mixed |
mixed
|
public static validated (Closure | string $callback) : void
Create a new native event for handling afterValidate().
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
public static validating (Closure | string $callback) : void
Create a new native event for handling beforeValidate().
Property | Type | Description |
---|---|---|
$callback | Closure | string |
Closure | string
|
protected static boot () : void
The "booting" method of the model.
protected static bootDefaultTheme () : void
Boot all of the bootable traits on the model.
protected bootIfNotBooted () : void
Check if the model needs to be booted and if so, do it.
protected bootNicerEvents ()
Bind some nicer events to this model, in the format of method overrides.
protected static bootTraits () : void
Boot all of the bootable traits on the model.
protected checkSafeMode () : void
This method checks if safe mode is enabled by config, and the code attribute is modified and populated. If so an exception is thrown.
protected emitterEventSortEvents (string $eventName) : void
Sort the listeners for a given event by priority.
Property | Type | Description |
---|---|---|
$eventName | string |
string
|
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
|
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
|
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
|
protected extensionGetClassLoader () : Winter\Storm\Support\ClassLoader | null
Gets the class loader
protected extensionNormalizeClassName (string $name) : string
Normalizes the provided extension name allowing for the ClassLoader to inject aliased classes
Property | Type | Description |
---|---|---|
$name | string |
string
|
protected fillViewBagArray () : void
Copies view bag properties to the view bag array.
This is required for the back-end editors.
protected fillableFromArray (array $attributes) : array
Get the fillable attributes of a given array.
Property | Type | Description |
---|---|---|
$attributes | array |
array
|
protected finishSave () : void
Finish processing on a successful save operation.
protected
fireModelEvent (string $event, boolean $halt = true
)
: mixed
Fire the given event for the model.
Property | Type | Description |
---|---|---|
$event | string |
string
|
$halt | boolean |
boolean
|
protected getArrayableAppends () : array
Get all of the appendable values that are arrayable.
protected getAttributeFromArray (string $key) : mixed
Get an attribute from the $attributes array.
Property | Type | Description |
---|---|---|
$key | string |
string
|
protected getValidationAttributes () : array
Returns the model data used for validation.
protected static makeValidator ($data, $rules, $customMessages, $attributeNames) : Illuminate\Validation\Validator
Instantiates the validator used by the validation process, depending if the class is being used inside or outside of Laravel.
Property | Type | Description |
---|---|---|
$data | mixed |
mixed
|
$rules | mixed |
mixed
|
$customMessages | mixed |
mixed
|
$attributeNames | mixed |
mixed
|
protected mutateAttribute (string $key, mixed $value) : mixed
Get the value of an attribute using its mutator.
Property | Type | Description |
---|---|---|
$key | string |
string
|
$value | mixed |
mixed
|
protected mutateAttributeForArray (string $key, mixed $value) : mixed
Get the value of an attribute using its mutator for array conversion.
Property | Type | Description |
---|---|---|
$key | string |
string
|
$value | mixed |
mixed
|
protected originalIsNumericallyEquivalent (string $key) : bool
Determine if the new and old values for a given key are numerically equivalent.
Property | Type | Description |
---|---|---|
$key | string |
string
|
protected parseComponentSettings () : void
Parse component sections.
Replace the multiple component sections with a single "components" element in the $settings property.
protected
parseEventAndPayload (mixed $event, mixed $payload = null
)
: array
Parse the given event and payload and prepare them for dispatching.
Property | Type | Description |
---|---|---|
$event | mixed |
mixed
|
$payload | mixed |
mixed
|
protected parseSettings () : void
Parses the settings array.
Child classes can override this method in order to update the content of the $settings property after the object is loaded from a file.
protected performDeleteOnModel () : void
Perform the actual delete query on this model instance.
protected performInsert (Winter\Storm\Halcyon\Builder $query) : bool
Perform a model insert operation.
Property | Type | Description |
---|---|---|
$query | Winter\Storm\Halcyon\Builder |
Winter\Storm\Halcyon\Builder
|
protected performUpdate (Winter\Storm\Halcyon\Builder $query) : bool
Perform a model update operation.
Property | Type | Description |
---|---|---|
$query | Winter\Storm\Halcyon\Builder |
Winter\Storm\Halcyon\Builder
|
protected processRuleFieldNames (array $rules) : array
Processes field names in a rule array.
Converts any field names using array notation (ie. field[child]
) into dot notation (ie. field.child
)
Property | Type | Description |
---|---|---|
$rules | array |
array
Rules array |
protected processValidationRules ($rules)
Process rules
Property | Type | Description |
---|---|---|
$rules | mixed |
mixed
|
protected static registerModelEvent (string $event, Closure | string $callback, integer $priority) : void
Register a model event with the dispatcher.
Property | Type | Description |
---|---|---|
$event | string |
string
|
$callback | Closure | string |
Closure | string
|
$priority | integer |
integer
|
protected throwHalcyonSaveException (Exception $ex)
Converts an exception type thrown by Halcyon to a native CMS exception.
Property | Type | Description |
---|---|---|
$ex | Exception |
Exception
|
protected validateSettings () : void
If the model is loaded with an invalid INI section, the invalid content will be passed as a special attribute. Look for it, then locate the failure reason.