Class yii\web\AssetBundle
AssetBundle 代表的资源文件的集合,如 CSS,JS,图片。
每个资源包有一个唯一的名称,可以在应用中所使用的全部资源包中全局标识到它。 它的名字就是表示这个类的 完全限定类名
资源包可以依赖于其他资源包。当在视图中注册了某资源包, 它所依赖的资源包都会自动注册进来。
关于 AssetBundle 的更多使用参考,请查看 前端资源指南。
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
$basePath | string | 此资源包里,包含着资源文件的可以 Web 访问的目录。 如果设置了 $sourcePath,这个属性会被 yii\web\AssetManager 覆盖 当它从 $sourcePath 发布资源文件时。 你可以使用目录或目录的别名。 | yii\web\AssetBundle |
$baseUrl | string | 属性 $js、$css 里定义的相对路径的资源文件的基本 URL。 如果设置了 $sourcePath,这个属性会被 yii\web\AssetManager 覆盖 当它从 $sourcePath 发布资源文件时。 You can use either a URL or an alias of the URL. | yii\web\AssetBundle |
$css | array | 此资源包包含的 CSS 文件列表。 Each CSS file can be specified 每个 CSS 文件都能像 $js 注释里的三种格式那样指定。 请注意,只能使用正斜杠“/”作为目录分隔符。 | yii\web\AssetBundle |
$cssOptions | array | 将传递给 yii\web\View::registerCssFile() 方法的选项, 当此资源包注册 CSS 文件时。 | yii\web\AssetBundle |
$depends | array | 此资源包所依赖的包的列表。
例如:
` php
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
` |
yii\web\AssetBundle |
$js | array | 此资源包包含的 JavaScript 文件列表。 每个 JavaScript 文件都能以下列格式指定: - 表示外站资源的的绝对 URL。比如: `http://ajax. | yii\web\AssetBundle |
$jsOptions | array | 将传递给 yii\web\View::registerJsFile() 方法的选项, 当此资源包注册 JS 文件时。 | yii\web\AssetBundle |
$publishOptions | array | 将传递给 yii\web\AssetManager::publish() 方法的选项, 当此资源包正在发布时。仅在设置了 $sourcePath 时使用此属性。 | yii\web\AssetBundle |
$sourcePath | string | 包含此资源包的源资源文件的目录。 源资源文件应是你的 Web 应用的源码仓库里的某些文件。 如果这个包含了源资源文件的目录不能通过 Web 访问,你必须设置此属性。 这样,yii\web\AssetManager 才能将源资源文件自动发布到一个可 Web 访问的目录里, 当你在页面上注册资源包时。 如果未设置此属性,则表示源资源文件位于 $basePath 下。 你可以使用目录或目录的别名。 | yii\web\AssetBundle |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\BaseObject |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of an object property. | yii\base\BaseObject |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
__set() | Sets value of an object property. | yii\base\BaseObject |
__unset() | Sets an object property to null. | yii\base\BaseObject |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject |
init() | 初始化资源包。 如果你重写这个方法,请确保你在最后面调用了父方法。 | yii\web\AssetBundle |
publish() | 当源码不在 Web 可访问的目录下面时,发布资源包。 它也会用 asset converter 去编译 非 CSS 或者 JS 的文件 (比如,LESS,Sass)成为 CSS 和 JS 文件。 | yii\web\AssetBundle |
register() | 注册资源包到某视图。 | yii\web\AssetBundle |
registerAssetFiles() | 注册 CSS 和 JS 文件到所给的视图。 | yii\web\AssetBundle |
属性详情
此资源包里,包含着资源文件的可以 Web 访问的目录。
如果设置了 $sourcePath,这个属性会被 yii\web\AssetManager 覆盖 当它从 $sourcePath 发布资源文件时。
你可以使用目录或目录的别名。
属性 $js、$css 里定义的相对路径的资源文件的基本 URL。
如果设置了 $sourcePath,这个属性会被 yii\web\AssetManager 覆盖 当它从 $sourcePath 发布资源文件时。
You can use either a URL or an alias of the URL.
此资源包包含的 CSS 文件列表。 Each CSS file can be specified 每个 CSS 文件都能像 $js 注释里的三种格式那样指定。
请注意,只能使用正斜杠“/”作为目录分隔符。
将传递给 yii\web\View::registerCssFile() 方法的选项, 当此资源包注册 CSS 文件时。
此资源包所依赖的包的列表。
例如:
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
此资源包包含的 JavaScript 文件列表。 每个 JavaScript 文件都能以下列格式指定:
- 表示外站资源的的绝对 URL。比如:
http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
或者//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
。 - 表示站内资源的相对路径(比如,
js/main.js
)。 本地的实际文件路径 会以 $basePath 为前缀、拼接上相对路径, and the actual URL 同时真实的 URL 会以 $baseUrl 为前缀、、拼接上相对路径。 - 一个数组配置,第一个条目是前面描述的绝对 URL 或相对路径,接下来是键值对列表, 将用于覆盖此条目的 $jsOptions 设置。 此功能自 2.0.7 版开始提供。
请注意,只能使用正斜杠“/”作为目录分隔符。
将传递给 yii\web\View::registerJsFile() 方法的选项, 当此资源包注册 JS 文件时。
将传递给 yii\web\AssetManager::publish() 方法的选项, 当此资源包正在发布时。仅在设置了 $sourcePath 时使用此属性。
包含此资源包的源资源文件的目录。 源资源文件应是你的 Web 应用的源码仓库里的某些文件。
如果这个包含了源资源文件的目录不能通过 Web 访问,你必须设置此属性。 这样,yii\web\AssetManager 才能将源资源文件自动发布到一个可 Web 访问的目录里, 当你在页面上注册资源包时。
如果未设置此属性,则表示源资源文件位于 $basePath 下。
你可以使用目录或目录的别名。
参见 $publishOptions.
方法详情
初始化资源包。 如果你重写这个方法,请确保你在最后面调用了父方法。
public void init() |
当源码不在 Web 可访问的目录下面时,发布资源包。 它也会用 asset converter 去编译 非 CSS 或者 JS 的文件 (比如,LESS,Sass)成为 CSS 和 JS 文件。
public void publish($am) | ||
$am | yii\web\AssetManager | 用于执行发布的资源管理器 |
注册资源包到某视图。
public static static register($view) | ||
$view | yii\web\View | 某视图 |
return | static | 已注册的资源包实例 |
---|
注册 CSS 和 JS 文件到所给的视图。
public void registerAssetFiles($view) | ||
$view | yii\web\View | 所给的视图。 |