Class HelperCollection

Helpers collection is used as a registry for loaded helpers and handles loading and constructing helper class objects.

ObjectCollection
Extended by HelperCollection implements CakeEventListener
Package: Cake\View
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/View/HelperCollection.php

Properties summary

  • $_View protected
    View object to use when making helpers.

Inherited Properties

Method Summary

  • __construct() public
    Constructor
  • __get() public
    Provide public read access to the loaded objects
  • __isset() public

    Tries to lazy load a helper based on its name, if it cannot be found in the application folder, then it tries looking under the current plugin if any

  • Returns a list of all events that will fire in the View during it's lifecycle.
  • load() public

    Loads/constructs a helper. Will return the instance in the registry if it already exists. By setting $enable to false you can disable callbacks for a helper. Alternatively you can set $settings['enabled'] = false to disable callbacks. This alias is provided so that when declaring $helpers arrays you can disable callbacks on helpers.

  • trigger() public

    Trigger a callback method on every object in the collection. Used to trigger methods on objects in the collection. Will fire the methods in the order they were attached.

Method Detail

__construct()source public

__construct( View $view )

Constructor

Parameters

View $view
View instance.

__get()source public

__get( string $name )

Provide public read access to the loaded objects

Parameters

string $name
Name of property to read

Returns

mixed

Overrides

ObjectCollection::__get()

__isset()source public

__isset( string $helper )

Tries to lazy load a helper based on its name, if it cannot be found in the application folder, then it tries looking under the current plugin if any

Parameters

string $helper
The helper name to be loaded

Returns

boolean
whether the helper could be loaded or not

Throws

MissingHelperException

When a helper could not be found. App helpers are searched, and then plugin helpers.


Overrides

ObjectCollection::__isset()

implementedEvents()source public

implementedEvents( )

Returns a list of all events that will fire in the View during it's lifecycle.

Returns

array

Implementation of

CakeEventListener::implementedEvents()

load()source public

load( string $helper , array $settings array() )

Loads/constructs a helper. Will return the instance in the registry if it already exists. By setting $enable to false you can disable callbacks for a helper. Alternatively you can set $settings['enabled'] = false to disable callbacks. This alias is provided so that when declaring $helpers arrays you can disable callbacks on helpers.

You can alias your helper as an existing helper by setting the 'className' key, i.e.,

public $helpers = array(
  'Html' => array(
    'className' => 'AliasedHtml'
  );
);

All calls to the Html helper would use AliasedHtml instead.

Parameters

string $helper
Helper name to load
array $settings optional array()
Settings for the helper.

Returns

Helper
A helper object, Either the existing loaded helper or a new one.

Throws

MissingHelperException
when the helper could not be found

trigger()source public

trigger( string|CakeEvent $callback , array $params array() , array $options array() )

Trigger a callback method on every object in the collection. Used to trigger methods on objects in the collection. Will fire the methods in the order they were attached.

Options

  • breakOn Set to the value or values you want the callback propagation to stop on. Can either be a scalar value, or an array of values to break on. Defaults to false.

  • break Set to true to enabled breaking. When a trigger is broken, the last returned value will be returned. If used in combination with collectReturn the collected results will be returned. Defaults to false.

  • collectReturn Set to true to collect the return of each object into an array. This array of return values will be returned from the trigger() call. Defaults to false.

  • modParams Allows each object the callback gets called on to modify the parameters to the next object. Setting modParams to an integer value will allow you to modify the parameter with that index. Any non-null value will modify the parameter index indicated. Defaults to false.

Parameters

string|CakeEvent $callback

Method to fire on all the objects. Its assumed all the objects implement the method you are calling. If an instance of CakeEvent is provided, then then Event name will parsed to get the callback name. This is done by getting the last word after any dot in the event name (eg. Model.afterSave event will trigger the afterSave callback)

array $params optional array()
Array of parameters for the triggered callback.
array $options optional array()
Array of options.

Returns

mixed
Either the last result or all results if collectReturn is on.

Throws

CakeException
when modParams is used with an index that does not exist.

Overrides

ObjectCollection::trigger()

Methods inherited from ObjectCollection

attached()source public

attached( string $name null )

Gets the list of attached objects, or, whether the given object is attached

Deprecated

3.0.0 Will be removed in 3.0. Use loaded instead.

Parameters

string $name optional null

Optional. The name of the object to check the status of. If omitted, returns an array of currently-attached objects

Returns

mixed

If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all attached objects.


disable()source public

disable( string|array $name )

Disables callbacks on an object or array of objects. Public object methods are still callable as normal.

Parameters

string|array $name
CamelCased name of the objects(s) to disable (string or array)

enable()source public

enable( string|array $name , boolean $prioritize true )

Enables callbacks on an object or array of objects

Parameters

string|array $name
CamelCased name of the object(s) to enable (string or array)
boolean $prioritize optional true
Prioritize enabled list after enabling object(s)

enabled()source public

enabled( string $name null )

Gets the list of currently-enabled objects, or, the current status of a single objects

Parameters

string $name optional null

Optional. The name of the object to check the status of. If omitted, returns an array of currently-enabled object

Returns

mixed

If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all enabled objects.


loaded()source public

loaded( string $name null )

Gets the list of loaded objects, or, whether the given object is loaded

Parameters

string $name optional null

Optional. The name of the object to check the status of. If omitted, returns an array of currently-loaded objects

Returns

mixed

If $name is specified, returns the boolean status of the corresponding object. Otherwise, returns an array of all loaded objects.


normalizeObjectArray()source public static

normalizeObjectArray( array $objects )

Normalizes an object array, creates an array that makes lazy loading easier

Parameters

array $objects
Array of child objects to normalize.

Returns

array
Array of normalized objects.

prioritize()source public

prioritize( )

Prioritize list of enabled object

Returns

array
Prioritized list of object

set()source public

set( string $name null , CakeObject $object null )

Adds or overwrites an instantiated object to the collection

Parameters

string $name optional null
Name of the object
CakeObject $object optional null
The object to use

Returns

array
Loaded objects

setPriority()source public

setPriority( string|array $name , integer|null $priority null )

Set priority for an object or array of objects

Parameters

string|array $name

CamelCased name of the object(s) to enable (string or array) If string the second param $priority is used else it should be an associative array with keys as object names and values as priorities to set.

integer|null $priority optional null
Integer priority to set or null for default

unload()source public

unload( string $name )

Name of the object to remove from the collection

Parameters

string $name
Name of the object to delete.

Properties detail

$_Viewsource

protected View

View object to use when making helpers.

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-HelperCollection.html