HumHub Documentation (unofficial)

AssetManager extends Component
in package

AssetManager manages asset bundle configuration and loading.

AssetManager is configured as an application component in [[\yii\web\Application]] by default. You can access that instance via Yii::$app->assetManager.

You can modify its configuration by adding an array to your application config under components as shown in the following example:

'assetManager' => [
    'bundles' => [
        // you can override AssetBundle configs here
    ],
]

For more details and usage information on AssetManager, see the guide article on assets.

Tags
author

Qiang Xue qiang.xue@gmail.com

since
2.0

Table of Contents

Properties

$afterCopy  : callable|null
$appendTimestamp  : bool
$assetMap  : array<string|int, string>
$basePath  : string
$baseUrl  : string
$beforeCopy  : callable|null
$behaviors  : array<string|int, Behavior>
$bundles  : array<string|int, mixed>|false
$converter  : AssetConverterInterface
$dirMode  : int
$fileMode  : int|null
$forceCopy  : bool
$hashCallback  : callable|null
$linkAssets  : bool
$_behaviors  : array<string|int, Behavior>|null
$_converter  : AssetConverterInterface
$_dummyBundles  : array<string|int, mixed>
$_events  : array<string|int, mixed>
$_eventWildcards  : array<string|int, mixed>
$_isBasePathPermissionChecked  : bool|null
$_published  : array<string|int, mixed>

Methods

__call()  : mixed
Calls the named method which is not a class method.
__clone()  : mixed
This method is called after the object is created by cloning an existing one.
__construct()  : mixed
Constructor.
__get()  : mixed
Returns the value of a component property.
__isset()  : bool
Checks if a property is set, i.e. defined and not null.
__set()  : mixed
Sets the value of a component property.
__unset()  : mixed
Sets a component property to be null.
attachBehavior()  : Behavior
Attaches a behavior to this component.
attachBehaviors()  : mixed
Attaches a list of behaviors to the component.
behaviors()  : array<string|int, mixed>
Returns a list of behaviors that this component should behave as.
canGetProperty()  : bool
Returns a value indicating whether a property can be read.
canSetProperty()  : bool
Returns a value indicating whether a property can be set.
checkBasePathPermission()  : mixed
Check whether the basePath exists and is writeable.
className()  : string
Returns the fully qualified name of this class.
detachBehavior()  : Behavior|null
Detaches a behavior from the component.
detachBehaviors()  : mixed
Detaches all behaviors from the component.
ensureBehaviors()  : mixed
Makes sure that the behaviors declared in [[behaviors()]] are attached to this component.
getActualAssetUrl()  : string
Returns the actual URL for the specified asset. Without parameters.
getAssetPath()  : string|false
Returns the actual file path for the specified asset.
getAssetUrl()  : string
Returns the actual URL for the specified asset.
getBehavior()  : Behavior|null
Returns the named behavior object.
getBehaviors()  : array<string|int, Behavior>
Returns all behaviors attached to this component.
getBundle()  : AssetBundle
Returns the named asset bundle.
getConverter()  : AssetConverterInterface
Returns the asset converter.
getPublishedPath()  : string|false
Returns the published path of a file path.
getPublishedUrl()  : string|false
Returns the URL of a published file path.
hasEventHandlers()  : bool
Returns a value indicating whether there is any handler attached to the named event.
hasMethod()  : bool
Returns a value indicating whether a method is defined.
hasProperty()  : bool
Returns a value indicating whether a property is defined for this component.
init()  : mixed
Initializes the component.
off()  : bool
Detaches an existing event handler from this component.
on()  : mixed
Attaches an event handler to an event.
publish()  : array<string|int, mixed>
Publishes a file or a directory.
setConverter()  : mixed
Sets the asset converter.
trigger()  : mixed
Triggers an event.
hash()  : string
Generate a CRC32 hash for the directory path. Collisions are higher than MD5 but generates a much smaller hash string.
loadBundle()  : AssetBundle
Loads asset bundle class by name.
loadDummyBundle()  : AssetBundle
Loads dummy bundle by name.
publishDirectory()  : array<string|int, string>
Publishes a directory.
publishFile()  : array<string|int, string>
Publishes a file.
resolveAsset()  : string|false
attachBehaviorInternal()  : Behavior
Attaches a behavior to this component.

Properties

$afterCopy

public callable|null $afterCopy

a PHP callback that is called after a sub-directory or file is successfully copied. This option is used only when publishing a directory. The signature of the callback is the same as for [[beforeCopy]]. This is passed as a parameter afterCopy to [[\yii\helpers\FileHelper::copyDirectory()]].

$appendTimestamp

public bool $appendTimestamp = false

whether to append a timestamp to the URL of every published asset. When this is true, the URL of a published asset may look like /path/to/asset?v=timestamp, where timestamp is the last modification time of the published asset file. You normally would want to set this property to true when you have enabled HTTP caching for assets, because it allows you to bust caching when the assets are updated.

Tags
since
2.0.3

$assetMap

public array<string|int, string> $assetMap = []

mapping from source asset files (keys) to target asset files (values).

This property is provided to support fixing incorrect asset file paths in some asset bundles. When an asset bundle is registered with a view, each relative asset file in its [[AssetBundle::css|css]] and [[AssetBundle::js|js]] arrays will be examined against this map. If any of the keys is found to be the last part of an asset file (which is prefixed with [[AssetBundle::sourcePath]] if available), the corresponding value will replace the asset and be registered with the view. For example, an asset file my/path/to/jquery.js matches a key jquery.js.

Note that the target asset files should be absolute URLs, domain relative URLs (starting from '/') or paths relative to [[baseUrl]] and [[basePath]].

In the following example, any assets ending with jquery.min.js will be replaced with jquery/dist/jquery.js which is relative to [[baseUrl]] and [[basePath]].

[
    'jquery.min.js' => 'jquery/dist/jquery.js',
]

You may also use aliases while specifying map value, for example:

[
    'jquery.min.js' => '@web/js/jquery/jquery.js',
]

$basePath

public string $basePath = '@webroot/assets'

the root directory storing the published asset files.

$baseUrl

public string $baseUrl = '@web/assets'

the base URL through which the published asset files can be accessed.

$beforeCopy

public callable|null $beforeCopy

a PHP callback that is called before copying each sub-directory or file. This option is used only when publishing a directory. If the callback returns false, the copy operation for the sub-directory or file will be cancelled.

The signature of the callback should be: function ($from, $to), where $from is the sub-directory or file to be copied from, while $to is the copy target.

This is passed as a parameter beforeCopy to [[\yii\helpers\FileHelper::copyDirectory()]].

$behaviors read-only

public array<string|int, Behavior> $behaviors

List of behaviors attached to this component.

$bundles

public array<string|int, mixed>|false $bundles = []

list of asset bundle configurations. This property is provided to customize asset bundles. When a bundle is being loaded by [[getBundle()]], if it has a corresponding configuration specified here, the configuration will be applied to the bundle.

The array keys are the asset bundle names, which typically are asset bundle class names without leading backslash. The array values are the corresponding configurations. If a value is false, it means the corresponding asset bundle is disabled and [[getBundle()]] should return null.

If this property is false, it means the whole asset bundle feature is disabled and [[getBundle()]] will always return null.

The following example shows how to disable the bootstrap css file used by Bootstrap widgets (because you want to use your own styles):

[
    'yii\bootstrap\BootstrapAsset' => [
        'css' => [],
    ],
]

$converter

public AssetConverterInterface $converter

The asset converter. Note that the type of this property differs in getter and setter. See [[getConverter()]] and [[setConverter()]] for details.

$dirMode

public int $dirMode = 0775

the permission to be set for newly generated asset directories. This value will be used by PHP chmod() function. No umask will be applied. Defaults to 0775, meaning the directory is read-writable by owner and group, but read-only for other users.

$fileMode

public int|null $fileMode

the permission to be set for newly published asset files. This value will be used by PHP chmod() function. No umask will be applied. If not set, the permission will be determined by the current environment.

$forceCopy

public bool $forceCopy = false

whether the directory being published should be copied even if it is found in the target directory. This option is used only when publishing a directory. You may want to set this to be true during the development stage to make sure the published directory is always up-to-date. Do not set this to true on production servers as it will significantly degrade the performance.

$hashCallback

public callable|null $hashCallback

a callback that will be called to produce hash for asset directory generation. The signature of the callback should be as follows:

function ($path)

where $path is the asset path. Note that the $path can be either directory where the asset files reside or a single file. For a CSS file that uses relative path in url(), the hash implementation should use the directory path of the file instead of the file path to include the relative asset files in the copying.

If this is not set, the asset manager will use the default CRC32 and filemtime in the hash method.

Example of an implementation using MD4 hash:

function ($path) {
    return hash('md4', $path);
}
Tags
since
2.0.6

$linkAssets

public bool $linkAssets = false

whether to use symbolic link to publish asset files. Defaults to false, meaning asset files are copied to [[basePath]]. Using symbolic links has the benefit that the published assets will always be consistent with the source assets and there is no copy operation required. This is especially useful during development.

However, there are special requirements for hosting environments in order to use symbolic links. In particular, symbolic links are supported only on Linux/Unix, and Windows Vista/2008 or greater.

Moreover, some Web servers need to be properly configured so that the linked assets are accessible to Web users. For example, for Apache Web server, the following configuration directive should be added for the Web folder:

Options FollowSymLinks

$_behaviors

private array<string|int, Behavior>|null $_behaviors

the attached behaviors (behavior name => behavior). This is null when not initialized.

$_dummyBundles

private array<string|int, mixed> $_dummyBundles = []

$_events

private array<string|int, mixed> $_events = []

the attached event handlers (event name => handlers)

$_eventWildcards

private array<string|int, mixed> $_eventWildcards = []

the event handlers attached for wildcard patterns (event name wildcard => handlers)

Tags
since
2.0.14

$_isBasePathPermissionChecked

private bool|null $_isBasePathPermissionChecked

$_published

private array<string|int, mixed> $_published = []

published assets

Methods

__call()

Calls the named method which is not a class method.

public __call(string $name, array<string|int, mixed> $params) : mixed

This method will check if any attached behavior has the named method and will execute it if available.

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Parameters
$name : string

the method name

$params : array<string|int, mixed>

method parameters

Tags
throws
UnknownMethodException

when calling unknown method

Return values
mixed

the method return value

__clone()

This method is called after the object is created by cloning an existing one.

public __clone() : mixed

It removes all behaviors because they are attached to the old object.

__construct()

Constructor.

public __construct([array<string|int, mixed> $config = [] ]) : mixed

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call [[init()]].

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
Parameters
$config : array<string|int, mixed> = []

name-value pairs that will be used to initialize the object properties

__get()

Returns the value of a component property.

public __get(string $name) : mixed

This method will check in the following order and act accordingly:

  • a property defined by a getter: return the getter result
  • a property of a behavior: return the behavior property value

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $component->property;.

Parameters
$name : string

the property name

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is write-only.

see
__set()
Return values
mixed

the property value or the value of a behavior's property

__isset()

Checks if a property is set, i.e. defined and not null.

public __isset(string $name) : bool

This method will check in the following order and act accordingly:

  • a property defined by a setter: return whether the property is set
  • a property of a behavior: return whether the property is set
  • return false for non existing properties

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing isset($component->property).

Parameters
$name : string

the property name or the event name

Tags
see
https://www.php.net/manual/en/function.isset.php
Return values
bool

whether the named property is set

__set()

Sets the value of a component property.

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

This method will check in the following order and act accordingly:

  • a property defined by a setter: set the property value
  • an event in the format of "on xyz": attach the handler to the event "xyz"
  • a behavior in the format of "as xyz": attach the behavior named as "xyz"
  • a property of a behavior: set the behavior property value

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $component->property = $value;.

Parameters
$name : string

the property name or the event name

$value : mixed

the property value

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is read-only.

see
__get()

__unset()

Sets a component property to be null.

public __unset(string $name) : mixed

This method will check in the following order and act accordingly:

  • a property defined by a setter: set the property value to be null
  • a property of a behavior: set the property value to be null

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($component->property).

Parameters
$name : string

the property name

Tags
throws
InvalidCallException

if the property is read only.

see
https://www.php.net/manual/en/function.unset.php

attachBehavior()

Attaches a behavior to this component.

public attachBehavior(string $name, string|array<string|int, mixed>|Behavior $behavior) : Behavior

This method will create the behavior object based on the given configuration. After that, the behavior object will be attached to this component by calling the [[Behavior::attach()]] method.

Parameters
$name : string

the name of the behavior.

$behavior : string|array<string|int, mixed>|Behavior

the behavior configuration. This can be one of the following:

  • a [[Behavior]] object
  • a string specifying the behavior class
  • an object configuration array that will be passed to [[Yii::createObject()]] to create the behavior object.
Tags
see
detachBehavior()
Return values
Behavior

the behavior object

attachBehaviors()

Attaches a list of behaviors to the component.

public attachBehaviors(array<string|int, mixed> $behaviors) : mixed

Each behavior is indexed by its name and should be a [[Behavior]] object, a string specifying the behavior class, or an configuration array for creating the behavior.

Parameters
$behaviors : array<string|int, mixed>

list of behaviors to be attached to the component

Tags
see
attachBehavior()

behaviors()

Returns a list of behaviors that this component should behave as.

public behaviors() : array<string|int, mixed>

Child classes may override this method to specify the behaviors they want to behave as.

The return value of this method should be an array of behavior objects or configurations indexed by behavior names. A behavior configuration can be either a string specifying the behavior class or an array of the following structure:

'behaviorName' => [
    'class' => 'BehaviorClass',
    'property1' => 'value1',
    'property2' => 'value2',
]

Note that a behavior class must extend from [[Behavior]]. Behaviors can be attached using a name or anonymously. When a name is used as the array key, using this name, the behavior can later be retrieved using [[getBehavior()]] or be detached using [[detachBehavior()]]. Anonymous behaviors can not be retrieved or detached.

Behaviors declared in this method will be attached to the component automatically (on demand).

Return values
array<string|int, mixed>

the behavior configurations.

canGetProperty()

Returns a value indicating whether a property can be read.

public canGetProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool

A property can be read if:

  • the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
  • an attached behavior has a readable property of the given name (when $checkBehaviors is true).
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

$checkBehaviors : bool = true

whether to treat behaviors' properties as properties of this component

Tags
see
canSetProperty()
Return values
bool

whether the property can be read

canSetProperty()

Returns a value indicating whether a property can be set.

public canSetProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool

A property can be written if:

  • the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
  • an attached behavior has a writable property of the given name (when $checkBehaviors is true).
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

$checkBehaviors : bool = true

whether to treat behaviors' properties as properties of this component

Tags
see
canGetProperty()
Return values
bool

whether the property can be written

checkBasePathPermission()

Check whether the basePath exists and is writeable.

public checkBasePathPermission() : mixed
Tags
since
2.0.40

className()

Returns the fully qualified name of this class.

public static className() : string
Tags
deprecated

since 2.0.14. On PHP >=5.5, use ::class instead.

Return values
string

the fully qualified name of this class.

detachBehavior()

Detaches a behavior from the component.

public detachBehavior(string $name) : Behavior|null

The behavior's [[Behavior::detach()]] method will be invoked.

Parameters
$name : string

the behavior's name.

Return values
Behavior|null

the detached behavior. Null if the behavior does not exist.

detachBehaviors()

Detaches all behaviors from the component.

public detachBehaviors() : mixed

ensureBehaviors()

Makes sure that the behaviors declared in [[behaviors()]] are attached to this component.

public ensureBehaviors() : mixed

getActualAssetUrl()

Returns the actual URL for the specified asset. Without parameters.

public getActualAssetUrl(AssetBundle $bundle, string $asset) : string

The actual URL is obtained by prepending either [[AssetBundle::$baseUrl]] or [[AssetManager::$baseUrl]] to the given asset path.

Parameters
$bundle : AssetBundle

the asset bundle which the asset file belongs to

$asset : string

the asset path. This should be one of the assets listed in [[AssetBundle::$js]] or [[AssetBundle::$css]].

Tags
since
2.0.39
Return values
string

the actual URL for the specified asset.

getAssetPath()

Returns the actual file path for the specified asset.

public getAssetPath(AssetBundle $bundle, string $asset) : string|false
Parameters
$bundle : AssetBundle

the asset bundle which the asset file belongs to

$asset : string

the asset path. This should be one of the assets listed in [[AssetBundle::$js]] or [[AssetBundle::$css]].

Return values
string|false

the actual file path, or false if the asset is specified as an absolute URL

getAssetUrl()

Returns the actual URL for the specified asset.

public getAssetUrl(AssetBundle $bundle, string $asset[, bool|null $appendTimestamp = null ]) : string

The actual URL is obtained by prepending either [[AssetBundle::$baseUrl]] or [[AssetManager::$baseUrl]] to the given asset path.

Parameters
$bundle : AssetBundle

the asset bundle which the asset file belongs to

$asset : string

the asset path. This should be one of the assets listed in [[AssetBundle::$js]] or [[AssetBundle::$css]].

$appendTimestamp : bool|null = null

Whether to append timestamp to the URL.

Return values
string

the actual URL for the specified asset.

getBehavior()

Returns the named behavior object.

public getBehavior(string $name) : Behavior|null
Parameters
$name : string

the behavior name

Return values
Behavior|null

the behavior object, or null if the behavior does not exist

getBehaviors()

Returns all behaviors attached to this component.

public getBehaviors() : array<string|int, Behavior>
Return values
array<string|int, Behavior>

list of behaviors attached to this component

getBundle()

Returns the named asset bundle.

public getBundle(string $name[, bool $publish = true ]) : AssetBundle

This method will first look for the bundle in [[bundles]]. If not found, it will treat $name as the class of the asset bundle and create a new instance of it.

Parameters
$name : string

the class name of the asset bundle (without the leading backslash)

$publish : bool = true

whether to publish the asset files in the asset bundle before it is returned. If you set this false, you must manually call AssetBundle::publish() to publish the asset files.

Tags
throws
InvalidConfigException

if $name does not refer to a valid asset bundle

Return values
AssetBundle

the asset bundle instance

getPublishedPath()

Returns the published path of a file path.

public getPublishedPath(string $path) : string|false

This method does not perform any publishing. It merely tells you if the file or directory is published, where it will go.

Parameters
$path : string

directory or file path being published

Return values
string|false

string the published file path. False if the file or directory does not exist

getPublishedUrl()

Returns the URL of a published file path.

public getPublishedUrl(string $path) : string|false

This method does not perform any publishing. It merely tells you if the file path is published, what the URL will be to access it.

Parameters
$path : string

directory or file path being published

Return values
string|false

string the published URL for the file or directory. False if the file or directory does not exist.

hasEventHandlers()

Returns a value indicating whether there is any handler attached to the named event.

public hasEventHandlers(string $name) : bool
Parameters
$name : string

the event name

Return values
bool

whether there is any handler attached to the event.

hasMethod()

Returns a value indicating whether a method is defined.

public hasMethod(string $name[, bool $checkBehaviors = true ]) : bool

A method is defined if:

  • the class has a method with the specified name
  • an attached behavior has a method with the given name (when $checkBehaviors is true).
Parameters
$name : string

the property name

$checkBehaviors : bool = true

whether to treat behaviors' methods as methods of this component

Return values
bool

whether the method is defined

hasProperty()

Returns a value indicating whether a property is defined for this component.

public hasProperty(string $name[, bool $checkVars = true ][, bool $checkBehaviors = true ]) : bool

A property is defined if:

  • the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
  • an attached behavior has a property of the given name (when $checkBehaviors is true).
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

$checkBehaviors : bool = true

whether to treat behaviors' properties as properties of this component

Tags
see
canGetProperty()
see
canSetProperty()
Return values
bool

whether the property is defined

off()

Detaches an existing event handler from this component.

public off(string $name[, callable|null $handler = null ]) : bool

This method is the opposite of [[on()]].

Note: in case wildcard pattern is passed for event name, only the handlers registered with this wildcard will be removed, while handlers registered with plain names matching this wildcard will remain.

Parameters
$name : string

event name

$handler : callable|null = null

the event handler to be removed. If it is null, all handlers attached to the named event will be removed.

Tags
see
on()
Return values
bool

if a handler is found and detached

on()

Attaches an event handler to an event.

public on(string $name, callable $handler[, mixed $data = null ][, bool $append = true ]) : mixed

The event handler must be a valid PHP callback. The following are some examples:

function ($event) { ... }         // anonymous function
[$object, 'handleClick']          // $object->handleClick()
['Page', 'handleClick']           // Page::handleClick()
'handleClick'                     // global function handleClick()

The event handler must be defined with the following signature,

function ($event)

where $event is an [[Event]] object which includes parameters associated with the event.

Since 2.0.14 you can specify event name as a wildcard pattern:

$component->on('event.group.*', function ($event) {
    Yii::trace($event->name . ' is triggered.');
});
Parameters
$name : string

the event name

$handler : callable

the event handler

$data : mixed = null

the data to be passed to the event handler when the event is triggered. When the event handler is invoked, this data can be accessed via [[Event::data]].

$append : bool = true

whether to append new event handler to the end of the existing handler list. If false, the new handler will be inserted at the beginning of the existing handler list.

Tags
see
off()

publish()

Publishes a file or a directory.

public publish(string $path[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>

This method will copy the specified file or directory to [[basePath]] so that it can be accessed via the Web server.

If the asset is a file, its file modification time will be checked to avoid unnecessary file copying.

If the asset is a directory, all files and subdirectories under it will be published recursively. Note, in case $forceCopy is false the method only checks the existence of the target directory to avoid repetitive copying (which is very expensive).

By default, when publishing a directory, subdirectories and files whose name starts with a dot "." will NOT be published. If you want to change this behavior, you may specify the "beforeCopy" option as explained in the $options parameter.

Note: On rare scenario, a race condition can develop that will lead to a one-time-manifestation of a non-critical problem in the creation of the directory that holds the published assets. This problem can be avoided altogether by 'requesting' in advance all the resources that are supposed to trigger a 'publish()' call, and doing that in the application deployment phase, before system goes live. See more in the following discussion: https://code.google.com/archive/p/yii/issues/2579

Parameters
$path : string

the asset (file or directory) to be published

$options : array<string|int, mixed> = []

the options to be applied when publishing a directory. The following options are supported:

  • only: array, list of patterns that the file paths should match if they want to be copied.
  • except: array, list of patterns that the files or directories should match if they want to be excluded from being copied.
  • caseSensitive: boolean, whether patterns specified at "only" or "except" should be case sensitive. Defaults to true.
  • beforeCopy: callback, a PHP callback that is called before copying each sub-directory or file. This overrides [[beforeCopy]] if set.
  • afterCopy: callback, a PHP callback that is called after a sub-directory or file is successfully copied. This overrides [[afterCopy]] if set.
  • forceCopy: boolean, whether the directory being published should be copied even if it is found in the target directory. This option is used only when publishing a directory. This overrides [[forceCopy]] if set.
Tags
throws
InvalidArgumentException

if the asset to be published does not exist.

throws
InvalidConfigException

if the target directory [[basePath]] is not writeable.

Return values
array<string|int, mixed>

the path (directory or file path) and the URL that the asset is published as.

setConverter()

Sets the asset converter.

public setConverter(array<string|int, mixed>|AssetConverterInterface $value) : mixed
Parameters
$value : array<string|int, mixed>|AssetConverterInterface

the asset converter. This can be either an object implementing the [[AssetConverterInterface]], or a configuration array that can be used to create the asset converter object.

trigger()

Triggers an event.

public trigger(string $name[, Event|null $event = null ]) : mixed

This method represents the happening of an event. It invokes all attached handlers for the event including class-level handlers.

Parameters
$name : string

the event name

$event : Event|null = null

the event instance. If not set, a default [[Event]] object will be created.

hash()

Generate a CRC32 hash for the directory path. Collisions are higher than MD5 but generates a much smaller hash string.

protected hash(string $path) : string
Parameters
$path : string

string to be hashed.

Return values
string

hashed string.

loadBundle()

Loads asset bundle class by name.

protected loadBundle(string $name[, array<string|int, mixed> $config = [] ][, bool $publish = true ]) : AssetBundle
Parameters
$name : string

bundle name

$config : array<string|int, mixed> = []

bundle object configuration

$publish : bool = true

if bundle should be published

Tags
throws
InvalidConfigException

if configuration isn't valid

Return values
AssetBundle

publishDirectory()

Publishes a directory.

protected publishDirectory(string $src, array<string|int, mixed> $options) : array<string|int, string>
Parameters
$src : string

the asset directory to be published

$options : array<string|int, mixed>

the options to be applied when publishing a directory. The following options are supported:

  • only: array, list of patterns that the file paths should match if they want to be copied.
  • except: array, list of patterns that the files or directories should match if they want to be excluded from being copied.
  • caseSensitive: boolean, whether patterns specified at "only" or "except" should be case sensitive. Defaults to true.
  • beforeCopy: callback, a PHP callback that is called before copying each sub-directory or file. This overrides [[beforeCopy]] if set.
  • afterCopy: callback, a PHP callback that is called after a sub-directory or file is successfully copied. This overrides [[afterCopy]] if set.
  • forceCopy: boolean, whether the directory being published should be copied even if it is found in the target directory. This option is used only when publishing a directory. This overrides [[forceCopy]] if set.
Tags
throws
InvalidArgumentException

if the asset to be published does not exist.

Return values
array<string|int, string>

the path directory and the URL that the asset is published as.

publishFile()

Publishes a file.

protected publishFile(string $src) : array<string|int, string>
Parameters
$src : string

the asset file to be published

Tags
throws
InvalidArgumentException

if the asset to be published does not exist.

Return values
array<string|int, string>

the path and the URL that the asset is published as.

resolveAsset()

protected resolveAsset(AssetBundle $bundle, string $asset) : string|false
Parameters
$bundle : AssetBundle
$asset : string
Return values
string|false

attachBehaviorInternal()

Attaches a behavior to this component.

private attachBehaviorInternal(string|int $name, string|array<string|int, mixed>|Behavior $behavior) : Behavior
Parameters
$name : string|int

the name of the behavior. If this is an integer, it means the behavior is an anonymous one. Otherwise, the behavior is a named one and any existing behavior with the same name will be detached first.

$behavior : string|array<string|int, mixed>|Behavior

the behavior to be attached

Return values
Behavior

the attached behavior.


        
On this page

Search results