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
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
$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
$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.
$_converter
private
AssetConverterInterface
$_converter
$_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
$_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
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
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
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
__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
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
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
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
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
Return values
bool —whether the property can be written
checkBasePathPermission()
Check whether the basePath exists and is writeable.
public
checkBasePathPermission() : mixed
Tags
className()
Returns the fully qualified name of this class.
public
static className() : string
Tags
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
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
Return values
AssetBundle —the asset bundle instance
getConverter()
Returns the asset converter.
public
getConverter() : AssetConverterInterface
Return values
AssetConverterInterface —the asset converter.
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
Return values
bool —whether the property is defined
init()
Initializes the component.
public
init() : mixed
Tags
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
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
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
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
Return values
AssetBundleloadDummyBundle()
Loads dummy bundle by name.
protected
loadDummyBundle(string $name) : AssetBundle
Parameters
- $name : string
Return values
AssetBundlepublishDirectory()
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
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
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|falseattachBehaviorInternal()
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.