\Cake\View\HelperUrlHelper

UrlHelper class for generating URLs.

Provides common methods and features.

Callback methods

Helpers support a number of callback methods. These callbacks allow you to hook into the various view lifecycle events and either modify existing view content or perform other application specific logic. The events are not implemented by this base class, as implementing a callback method subscribes a helper to the related event. The callback methods are as follows:

  • beforeRender(Event $event, $viewFile) - beforeRender is called before the view file is rendered.
  • afterRender(Event $event, $viewFile) - afterRender is called after the view file is rendered but before the layout has been rendered.
  • beforeLayout(Event $event, $layoutFile)` - beforeLayout is called before the layout is rendered.
  • afterLayout(Event $event, $layoutFile) - afterLayout is called after the layout has rendered.
  • beforeRenderFile(Event $event, $viewFile) - Called before any view fragment is rendered.
  • afterRenderFile(Event $event, $viewFile, $content) - Called after any view fragment is rendered. If a listener returns a non-null value, the output of the rendered file will be set to that.

Summary

Methods
Properties
Constants
__construct()
__call()
__get()
__set()
getView()
addClass()
implementedEvents()
initialize()
__debugInfo()
setConfig()
getConfig()
config()
configShallow()
build()
image()
css()
script()
assetUrl()
assetTimestamp()
webroot()
$fieldset
$tags
No constants found
_confirm()
_cleanConfirmMessage()
_configRead()
_configWrite()
_configDelete()
_encodeUrl()
_inflectThemeName()
$helpers
$_defaultConfig
$_helperMap
$_View
$_config
$_configInitialized
N/A
No private methods found
No private properties found
N/A

Properties

$fieldset

$fieldset : array

Unused.

Type

array

$tags

$tags : array

Unused.

Type

array

$helpers

$helpers : array

List of helpers used by this helper

Type

array

$_defaultConfig

$_defaultConfig : array

Default config for this helper.

Type

array

$_helperMap

$_helperMap : array

A helper lookup table used to lazy load helper objects.

Type

array

$_View

$_View : \Cake\View\View

The View instance this helper is attached to

Type

\Cake\View\View

$_config

$_config : array

Runtime config

Type

array

$_configInitialized

$_configInitialized : boolean

Whether the config property has already been configured with defaults

Type

boolean

Methods

__construct()

__construct(\Cake\View\View  $View, array  $config = array()) 

Default Constructor

Parameters

\Cake\View\View $View

The View this helper is being attached to.

array $config

Configuration settings for the helper.

__call()

__call(string  $method, array  $params) : void

Provide non fatal errors on missing method calls.

Parameters

string $method

Method to invoke

array $params

Array of params for the method.

__get()

__get(string  $name) : \Cake\View\Helper|null

Lazy loads helpers.

Parameters

string $name

Name of the property being accessed.

Returns

\Cake\View\Helper|null —

Helper instance if helper with provided name exists

__set()

__set(string  $name, mixed  $value) : void

Magic setter for removed properties.

Parameters

string $name

Property name.

mixed $value

Value to set.

getView()

getView() : \Cake\View\View

Get the view instance this helper is bound to.

Returns

\Cake\View\View

The bound view instance.

addClass()

addClass(array  $options = array(), string|null  $class = null, string  $key = 'class') : array

Adds the given class to the element options

Parameters

array $options

Array options/attributes to add a class to

string|null $class

The class name being added.

string $key

the key to use for class.

Returns

array —

Array of options with $key set.

implementedEvents()

implementedEvents() : array

Event listeners.

By defining one of the callback methods a helper is assumed to be interested in the related event.

Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.

Returns

array

initialize()

initialize(array  $config) : void

Constructor hook method.

Implement this method to avoid having to overwrite the constructor and call parent.

Parameters

array $config

The configuration settings provided to this helper.

__debugInfo()

__debugInfo() : array

Returns an array that can be used to describe the internal state of this object.

Returns

array

setConfig()

setConfig(string|array  $key, mixed|null  $value = null, boolean  $merge = true) : $this

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

$this

getConfig()

getConfig(string|null  $key = null, mixed  $default = null) : mixed

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key

The key to get or null for the whole config.

mixed $default

The return value when the key does not exist.

Returns

mixed —

Config value being read.

config()

config(string|array|null  $key = null, mixed|null  $value = null, boolean  $merge = true) : mixed

Gets/Sets the config.

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);

Parameters

string|array|null $key

The key to get/set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

mixed —

Config value being read, or the object itself on write operations.

configShallow()

configShallow(string|array  $key, mixed|null  $value = null) : $this

Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

Returns

$this

build()

build(string|array|null  $url = null, array|boolean  $options = false) : string

Returns a URL based on provided parameters.

Options:

  • escape: If false, the URL will be returned unescaped, do only use if it is manually escaped afterwards before being displayed.
  • fullBase: If true, the full base URL will be prepended to the result

Parameters

string|array|null $url

Either a relative string URL like /products/view/23 or an array of URL parameters. Using an array for URLs will allow you to leverage the reverse routing features of CakePHP.

array|boolean $options

Array of options; bool full for BC reasons.

Returns

string —

Full translated URL with base path.

image()

image(string|array  $path, array  $options = array()) : string

Generates URL for given image file.

Depending on options passed provides full URL with domain name. Also calls Helper::assetTimestamp() to add timestamp to local files.

Parameters

string|array $path

Path string or URL array

array $options

Options array. Possible keys: fullBase Return full URL with domain name pathPrefix Path prefix for relative URLs plugin False value will prevent parsing path as a plugin timestamp Overrides the value of Asset.timestamp in Configure. Set to false to skip timestamp generation. Set to true to apply timestamps when debug is true. Set to 'force' to always enable timestamping regardless of debug value.

Returns

string —

Generated URL

css()

css(string|array  $path, array  $options = array()) : string

Generates URL for given CSS file.

Depending on options passed provides full URL with domain name. Also calls Helper::assetTimestamp() to add timestamp to local files.

Parameters

string|array $path

Path string or URL array

array $options

Options array. Possible keys: fullBase Return full URL with domain name pathPrefix Path prefix for relative URLs ext Asset extension to append plugin False value will prevent parsing path as a plugin timestamp Overrides the value of Asset.timestamp in Configure. Set to false to skip timestamp generation. Set to true to apply timestamps when debug is true. Set to 'force' to always enable timestamping regardless of debug value.

Returns

string —

Generated URL

script()

script(string|array  $path, array  $options = array()) : string

Generates URL for given javascript file.

Depending on options passed provides full URL with domain name. Also calls Helper::assetTimestamp() to add timestamp to local files.

Parameters

string|array $path

Path string or URL array

array $options

Options array. Possible keys: fullBase Return full URL with domain name pathPrefix Path prefix for relative URLs ext Asset extension to append plugin False value will prevent parsing path as a plugin timestamp Overrides the value of Asset.timestamp in Configure. Set to false to skip timestamp generation. Set to true to apply timestamps when debug is true. Set to 'force' to always enable timestamping regardless of debug value.

Returns

string —

Generated URL

assetUrl()

assetUrl(string|array  $path, array  $options = array()) : string

Generates URL for given asset file.

Depending on options passed provides full URL with domain name. Also calls Helper::assetTimestamp() to add timestamp to local files.

Options:

  • fullBase Boolean true or a string (e.g. https://example) to return full URL with protocol and domain name.
  • pathPrefix Path prefix for relative URLs
  • ext Asset extension to append
  • plugin False value will prevent parsing path as a plugin
  • timestamp Overrides the value of Asset.timestamp in Configure. Set to false to skip timestamp generation. Set to true to apply timestamps when debug is true. Set to 'force' to always enable timestamping regardless of debug value.

Parameters

string|array $path

Path string or URL array

array $options

Options array.

Returns

string —

Generated URL

assetTimestamp()

assetTimestamp(string  $path, boolean|string  $timestamp = null) : string

Adds a timestamp to a file based resource based on the value of `Asset.timestamp` in Configure. If Asset.timestamp is true and debug is true, or Asset.timestamp === 'force' a timestamp will be added.

Parameters

string $path

The file path to timestamp, the path must be inside WWW_ROOT

boolean|string $timestamp

If set will overrule the value of Asset.timestamp in Configure.

Returns

string —

Path with a timestamp added, or not.

webroot()

webroot(string  $file) : string

Checks if a file exists when theme is used, if no file is found default location is returned

Parameters

string $file

The file to create a webroot path to.

Returns

string —

Web accessible path to file.

_confirm()

_confirm(string  $message, string  $okCode, string  $cancelCode = '', array  $options = array()) : string

Returns a string to be used as onclick handler for confirm dialogs.

Parameters

string $message

Message to be displayed

string $okCode

Code to be executed after user chose 'OK'

string $cancelCode

Code to be executed after user chose 'Cancel'

array $options

Array of options

Returns

string —

onclick JS code

_cleanConfirmMessage()

_cleanConfirmMessage(string  $message) : mixed

Returns a string read to be used in confirm()

Parameters

string $message

The message to clean

Returns

mixed

_configRead()

_configRead(string|null  $key) : mixed

Reads a config key.

Parameters

string|null $key

Key to read.

Returns

mixed

_configWrite()

_configWrite(string|array  $key, mixed  $value, boolean|string  $merge = false) : void

Writes a config key.

Parameters

string|array $key

Key to write to.

mixed $value

Value to write.

boolean|string $merge

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Throws

\Cake\Core\Exception\Exception

if attempting to clobber existing config

_configDelete()

_configDelete(string  $key) : void

Deletes a single config key.

Parameters

string $key

Key to delete.

Throws

\Cake\Core\Exception\Exception

if attempting to clobber existing config

_encodeUrl()

_encodeUrl(string  $url) : string

Encodes a URL for use in HTML attributes.

Parameters

string $url

The URL to encode.

Returns

string —

The URL encoded for both URL & HTML contexts.

_inflectThemeName()

_inflectThemeName(string  $name) : string

Inflect the theme name to its underscored version.

Parameters

string $name

Name of the theme which should be inflected.

Returns

string —

Inflected name of the theme