public static function asset($path, $type, array $options = array())
{
$options = static::_assetOptions($path, $type, $options);
$params = compact('path', 'type', 'options');
return static::_filter(__FUNCTION__, $params, function ($self, $params) {
$path = $params['path'];
$type = $params['type'];
$options = $params['options'];
$library = $options['library'];
if (preg_match('/^(?:[a-z0-9-]+:)?\\/\\//i', $path)) {
return $path;
}
$config = Libraries::get($library);
$paths = $options['paths'];
$config['default'] ? end($paths) : reset($paths);
$options['library'] = basename($config['path']);
if ($options['suffix'] && strpos($path, $options['suffix']) === false) {
$path .= $options['suffix'];
}
return $self::filterAssetPath($path, $paths, $config, compact('type') + $options);
});
}