Class Asset

Class for generating asset URLs.

Namespace: Cake\Routing

Properties summary

Method Summary

  • assetTimestamp() public static

    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.

  • cssUrl() public static

    Generates URL for given CSS file.

  • encodeUrl() protected static

    Encodes URL parts using rawurlencode().

  • imageUrl() public static

    Generates URL for given image file.

  • inflectString() protected static

    Inflect the theme/plugin name to type set using Asset::setInflectionType().

  • pluginSplit() protected static

    Splits a dot syntax plugin name into its plugin and filename.

  • requestWebroot() protected static

    Get webroot from request.

  • scriptUrl() public static

    Generates URL for given javascript file.

  • setInflectionType() public static

    Set inflection type to use when inflecting plugin/theme name.

  • url() public static

    Generates URL for given asset file.

  • webroot() public static

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

Method Detail

assetTimestamp() public static

assetTimestamp(string $path, mixed $timestamp)

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 App.wwwRoot in Configure.

bool|string $timestamp optional

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

Returns

string

Path with a timestamp added, or not.

cssUrl() public static

cssUrl(string $path, array $options)

Generates URL for given CSS file.

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

Parameters

string $path

Path string.

array $options optional

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

encodeUrl() protected static

encodeUrl(string $url)

Encodes URL parts using rawurlencode().

Parameters

string $url

The URL to encode.

Returns

string

imageUrl() public static

imageUrl(string $path, array $options)

Generates URL for given image file.

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

Parameters

string $path

Path string.

array $options optional

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

inflectString() protected static

inflectString(string $string)

Inflect the theme/plugin name to type set using Asset::setInflectionType().

Parameters

string $string

String inflected.

Returns

string

Inflected name of the theme

pluginSplit() protected static

pluginSplit(string $name)

Splits a dot syntax plugin name into its plugin and filename.

If $name does not have a dot, then index 0 will be null. It checks if the plugin is loaded, else filename will stay unchanged for filenames containing dot.

Parameters

string $name

The name you want to plugin split.

Returns

array

Array with 2 indexes. 0 => plugin name, 1 => filename.

requestWebroot() protected static

requestWebroot()

Get webroot from request.

Returns

string

scriptUrl() public static

scriptUrl(string $path, array $options)

Generates URL for given javascript file.

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

Parameters

string $path

Path string.

array $options optional

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

setInflectionType() public static

setInflectionType(string $inflectionType)

Set inflection type to use when inflecting plugin/theme name.

Parameters

string $inflectionType

Inflection type. Value should be a valid method name of Inflector class like 'dasherize' or 'underscore'`.

url() public static

url(string $path, array $options)

Generates URL for given asset file.

Depending on options passed provides full URL with domain name. Also calls Asset::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
  • theme Optional theme name
  • 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 $path

Path string or URL array

array $options optional

Options array.

Returns

string

Generated URL

webroot() public static

webroot(string $file, array $options)

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

Options:

  • theme Optional theme name

Parameters

string $file

The file to create a webroot path to.

array $options optional

Options array.

Returns

string

Web accessible path to file.

Property Detail

$inflectionType protected static

Inflection type.

Type

string

© 2005–present 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/4.0/class-Cake.Routing.Asset.html