abstract class BaseAsset implements AssetInterface

A base abstract asset.

The methods load() and getLastModified() are left undefined, although a reusable doLoad() method is available to child classes.

Properties

private $filters
private $sourceRoot
private $sourcePath
private $sourceDir
private $targetPath
private $content
private $loaded
private $vars
private $values

Methods

__construct(array $filters = [], string $sourceRoot = null, string $sourcePath = null, array $vars = [])

Constructor.

__clone()

No description

ensureFilter(FilterInterface $filter)

Ensures the current asset includes the supplied filter.

array
getFilters()

Returns an array of filters currently applied.

clearFilters()

Clears all filters from the current asset.

doLoad(string $content, FilterInterface $additionalFilter = null)

Encapsulates asset loading logic.

string
dump(FilterInterface $additionalFilter = null)

Applies dump filters and returns the asset as a string.

string
getContent()

Returns the loaded content of the current asset.

setContent(string $content)

Sets the content of the current asset.

string|null
getSourceRoot()

Returns an absolute path or URL to the source asset's root directory.

string|null
getSourcePath()

Returns the relative path for the source asset.

string|null
getSourceDirectory()

Returns the asset's source directory.

string|null
getTargetPath()

Returns the URL for the current asset.

setTargetPath(string $targetPath)

Sets the URL for the current asset.

array
getVars()

Returns an array of variable names for this asset.

setValues(array $values)

Sets the values for the asset's variables.

array
getValues()

Returns the current values for this asset.

Details

at line 53
__construct(array $filters = [], string $sourceRoot = null, string $sourcePath = null, array $vars = [])

Constructor.

Parameters

array $filters

Filters for the asset

string $sourceRoot

The root directory

string $sourcePath

The asset path

array $vars

at line 66
__clone()

No description

at line 71
ensureFilter(FilterInterface $filter)

Ensures the current asset includes the supplied filter.

Parameters

FilterInterface $filter

A filter

at line 76
array getFilters()

Returns an array of filters currently applied.

Return Value

array

An array of filters

at line 81
clearFilters()

Clears all filters from the current asset.

at line 92
protected doLoad(string $content, FilterInterface $additionalFilter = null)

Encapsulates asset loading logic.

Parameters

string $content

The asset content

FilterInterface $additionalFilter

An additional filter

at line 108
string dump(FilterInterface $additionalFilter = null)

Applies dump filters and returns the asset as a string.

You may provide an additional filter to apply during dump.

Dumping an asset should not change its state.

If the current asset has not been loaded yet, it should be automatically loaded at this time.

Parameters

FilterInterface $additionalFilter

An additional filter

Return Value

string

The filtered content of the current asset

at line 125
string getContent()

Returns the loaded content of the current asset.

Return Value

string

The content

at line 130
setContent(string $content)

Sets the content of the current asset.

Filters can use this method to change the content of the asset.

Parameters

string $content

The asset content

at line 135
string|null getSourceRoot()

Returns an absolute path or URL to the source asset's root directory.

This value should be an absolute path to a directory in the filesystem, an absolute URL with no path, or null.

For example:

Return Value

string|null

The asset's root

at line 140
string|null getSourcePath()

Returns the relative path for the source asset.

This value can be combined with the asset's source root (if both are non-null) to get something compatible with file_get_contents().

For example:

  • 'js/main.js'
  • 'main.js'
  • null

Return Value

string|null

The source asset path

at line 145
string|null getSourceDirectory()

Returns the asset's source directory.

The source directory is the directory the asset was located in and can be used to resolve references relative to an asset.

Return Value

string|null

The asset's source directory

at line 150
string|null getTargetPath()

Returns the URL for the current asset.

Return Value

string|null

A web URL where the asset will be dumped

at line 155
setTargetPath(string $targetPath)

Sets the URL for the current asset.

Parameters

string $targetPath

A web URL where the asset will be dumped

at line 168
array getVars()

Returns an array of variable names for this asset.

Return Value

array

at line 173
setValues(array $values)

Sets the values for the asset's variables.

Parameters

array $values

at line 185
array getValues()

Returns the current values for this asset.

Return Value

array

an array of strings