没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\console\controllers\AssetController

继承yii\console\controllers\AssetController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\base\ViewContextInterface
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/console/controllers/AssetController.php

允许你合并和压缩你的 JavaScript 和 CSS 文件。

用法:

  1. 使用 template 方法创建配置文件:

    yii asset/template /path/to/myapp/config.php

  2. 根据你的 web 应用的需要,编辑创建的配置文件。

  3. 使用创建的配置文件,运行 'compress' 动作:

    yii asset /path/to/myapp/config.php /path/to/myapp/config/assets_compressed.php

  4. 调整你的 web 应用程序配置以使用压缩资源

注意:在控制台环境中一些 path alias@webroot@web 可能不存在, 因此应该直接指定配置中的相应路径。

注意:默认情况下这个命令依赖外部工具来执行实际的文件压缩, 核实 $jsCompressor$cssCompressor 获取详细信息。

公共属性

隐藏继承的属性

属性类型描述被定义在
$action yii\base\Action The action that is currently being executed. yii\base\Controller
$assetManager yii\web\AssetManager 资源管理器实例。 yii\console\controllers\AssetController
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$bundles array 要压缩的资源包列表。 yii\console\controllers\AssetController
$color boolean 是否在输出中启用 ANSI 颜色。 如果未设置,则仅为支持 ANSI 颜色的终端启用 ANSI 颜色。 yii\console\Controller
$cssCompressor string|callable CSS 文件压缩程序。 如果是个字符串,它将被视为 shell 命令模版, 其中应该包含 占位符 {from} - 源文件名 - 和 {to} - 输出文件名。 否则,他被视为应该执行压缩的 PHP 回调。 默认值依赖于 "YUI Compressor" 的用法 yii\console\controllers\AssetController
$defaultAction string 控制器默认动作 ID。 yii\console\controllers\AssetController
$deleteSource boolean 压缩后是否删除资源源文件 此选项仅影响那些设置了 yii\web\AssetBundle::$sourcePath 的包。 yii\console\controllers\AssetController
$help boolean 是否显示有关当前命令的帮助信息。 yii\console\Controller
$helpSummary string yii\console\Controller
$id string The ID of this controller. yii\base\Controller
$interactive boolean 是否以交互方式运行命令。 yii\console\Controller
$jsCompressor string|callable JavaScript 文件压缩程序。 如果是个字符串,它将被视为 shell 命令模版,其中应该包含 占位符 {from} - 源文件名 - 和 {to} - 输出文件名。 否则,他被视为应该执行压缩的PHP回调。 默认值依赖于 "Closure Compiler" 的用法 yii\console\controllers\AssetController
$layout null|string|false The name of the layout to be applied to this controller's views. yii\base\Controller
$module yii\base\Module The module that this controller belongs to. yii\base\Controller
$modules yii\base\Module[] All ancestor modules that this controller is located within. yii\base\Controller
$passedOptionValues array 与传递的选项对应的属性 yii\console\Controller
$passedOptions array 执行期间传递的选项的名称 yii\console\Controller
$route string The route (module ID, controller ID and action ID) of the current request. yii\base\Controller
$targets array 表示输出压缩文件的资源包列表。 你可以使用 'css' 和 'js' 键来指定输出压缩文件的名称: 例如: `php 'app\config\AllAsset' => [ 'js' => 'js/all-{hash}. yii\console\controllers\AssetController
$uniqueId string The controller ID that is prefixed with the module ID (if any). yii\base\Controller
$view yii\base\View|yii\web\View The view object that can be used to render views or view files. yii\base\Controller
$viewPath string The directory containing the view files for this controller. yii\base\Controller

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() yii\base\Controller
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
actionCompress() 根据给定的配置组合和压缩资源文件。 在此过程中将创建新的资产包配置文件。 为了使用压缩文件,您应该用这个文件替换原来的资源包配置。 yii\console\controllers\AssetController
actionTemplate() 创建配置文件模板给 actionCompress() yii\console\controllers\AssetController
actions() Declares external actions for the controller. yii\base\Controller
afterAction() This method is invoked right after an action is executed. yii\base\Controller
ansiFormat() 使用 ANSI 代码格式化字符串。 yii\console\Controller
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeAction() This method is invoked right before an action is executed. yii\base\Controller
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
bindActionParams() 将参数绑定到动作。 当 yii\base\Action 开始使用给定的参数运行时,此方法被调用。 此方法首先将参数与操作可用的 options绑定。 然后验证给定的参数。 yii\console\Controller
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
combineCssFiles() 将 CSS 文件合并到一个里面。 yii\console\controllers\AssetController
combineJsFiles() 将 JavaScript 文件合并到一个里面。 yii\console\controllers\AssetController
confirm() 要求用户通过键入 y 或 n 来确认。 yii\console\Controller
createAction() Creates an action based on the given action ID. yii\base\Controller
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
findLayoutFile() Finds the applicable layout file. yii\base\Controller
getActionArgsHelp() 返回动作的匿名参数的帮助信息。 yii\console\Controller
getActionHelp() 返回指定动作的详细帮助信息。 yii\console\Controller
getActionHelpSummary() 返回描述指定动作的一行简短摘要。 yii\console\Controller
getActionOptionsHelp() 返回动作选项的帮助信息。 yii\console\Controller
getAssetManager() 返回资源管理器实例。 yii\console\controllers\AssetController
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getHelp() 返回此控制器的帮助信息。 yii\console\Controller
getHelpSummary() 返回描述此控制器的一行简短摘要。 yii\console\Controller
getModules() Returns all ancestor modules of this controller. yii\base\Controller
getOptionValues() 返回与动作 ID 的选项对应的属性 子类可以重写此方法以指定可能的属性。 yii\console\Controller
getPassedOptionValues() 返回与传递的选项对应的属性。 yii\console\Controller
getPassedOptions() 返回执行期间传递的有效选项的名称。 yii\console\Controller
getRoute() Returns the route of the current request. yii\base\Controller
getUniqueId() Returns the unique ID of the controller. yii\base\Controller
getView() Returns the view object that can be used to render views or view files. yii\base\Controller
getViewPath() Returns the directory containing view files for this controller. yii\base\Controller
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
isColorEnabled() 返回一个指示是否启用 ANSI 颜色的值。 yii\console\Controller
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
optionAliases() 返回选项别名。 子类可以重写此方法以指定别名选项。 yii\console\Controller
options() 返回操作的有效选项的动作(id) 选项要求存在一个名为选项名的 公共成员变量。 子类可以重写此方法以指定可能的选项。 yii\console\Controller
prompt() 提示用户输入并验证它。 yii\console\Controller
render() Renders a view and applies layout if available. yii\base\Controller
renderContent() Renders a static string by applying a layout. yii\base\Controller
renderFile() Renders a view file. yii\base\Controller
renderPartial() Renders a view without applying layout. yii\base\Controller
run() Runs a request specified in terms of a route. yii\base\Controller
runAction() 使用指定的动作 ID 和参数运行动作。 如果动作 ID 为空,则该方法将使用 $defaultAction yii\console\Controller
select() 为用户提供可供选择的选项。给予 '?' 作为输入将显示 可供选择的选项列表及其解释。 yii\console\Controller
setAssetManager() 设置资源管理器实例或配置。 yii\console\controllers\AssetController
setView() Sets the view object to be used by this controller. yii\base\Controller
setViewPath() Sets the directory that contains the view files. yii\base\Controller
stderr() 将字符串打印到 STDERR。 yii\console\Controller
stdout() 将字符串打印到 STDOUT。 yii\console\Controller
trigger() Triggers an event. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述被定义在
adjustCssUrl() 调整 CSS 内容允许指向原始资源的 URL 引用。 yii\console\controllers\AssetController
adjustDependency() 按照源包依赖输出的方式调整资源包之间的依赖关系。 yii\console\controllers\AssetController
buildTarget() 构建输出资源包。 yii\console\controllers\AssetController
compressCssFiles() 压缩给定的 CSS 文件并将他们合并到一个文件里面。 yii\console\controllers\AssetController
compressJsFiles() 压缩给定的 JavaScript 文件并将他们合并到一个文件里面。 yii\console\controllers\AssetController
getActionMethodReflection() yii\console\Controller
loadBundles() 创建源资源包的完整列表。 yii\console\controllers\AssetController
loadConfiguration() 将给定文件中的配置应用于自身实例。 yii\console\controllers\AssetController
loadDependency() 递归加载资源包依赖项。 yii\console\controllers\AssetController
loadTargets() 创建输出资源包的完整列表。 yii\console\controllers\AssetController
parseDocCommentDetail() 返回 docblock 的完整描述。 yii\console\Controller
parseDocCommentSummary() 返回 docblock 的第一行。 yii\console\Controller
parseDocCommentTags() 将注释块解析为标记。 yii\console\Controller
registerBundle() 注册资源包包括其依赖项。 yii\console\controllers\AssetController
saveTargets() 保存新的资源包配置。 yii\console\controllers\AssetController

Events

隐藏继承的事件

事件类型描述被定义在
EVENT_AFTER_ACTION yii\base\ActionEvent An event raised right after executing a controller action. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent An event raised right before executing a controller action. yii\base\Controller

常量

隐藏继承的常量

常量描述被定义在
EXIT_CODE_ERROR 1 Deprecated 自 2.0.13。使用 yii\console\ExitCode::UNSPECIFIED_ERROR 替代。 yii\console\Controller
EXIT_CODE_NORMAL 0 Deprecated 自 2.0.13。使用 yii\console\ExitCode::OK 替代。 yii\console\Controller

属性详情

$assetManager 公共 属性

资源管理器实例。

public yii\web\AssetManager getAssetManager ( )
public void setAssetManager ( $assetManager )
$bundles 公共 属性

要压缩的资源包列表。

public array $bundles = []
$cssCompressor 公共 属性

CSS 文件压缩程序。 如果是个字符串,它将被视为 shell 命令模版, 其中应该包含 占位符 {from} - 源文件名 - 和 {to} - 输出文件名。 否则,他被视为应该执行压缩的 PHP 回调。

默认值依赖于 "YUI Compressor" 的用法

参见 https://github.com/yui/yuicompressor/.

public string|callable $cssCompressor 'java -jar yuicompressor.jar --type css {from} -o {to}'
$defaultAction 公共 属性

控制器默认动作 ID。

public string $defaultAction 'compress'
$deleteSource 公共 属性 (自版本 2.0.10 可用)

压缩后是否删除资源源文件 此选项仅影响那些设置了 yii\web\AssetBundle::$sourcePath 的包。

public boolean $deleteSource false
$jsCompressor 公共 属性

JavaScript 文件压缩程序。 如果是个字符串,它将被视为 shell 命令模版,其中应该包含 占位符 {from} - 源文件名 - 和 {to} - 输出文件名。 否则,他被视为应该执行压缩的PHP回调。

默认值依赖于 "Closure Compiler" 的用法

参见 https://developers.google.com/closure/compiler/.

public string|callable $jsCompressor 'java -jar compiler.jar --js {from} --js_output_file {to}'
$targets 公共 属性

表示输出压缩文件的资源包列表。 你可以使用 'css' 和 'js' 键来指定输出压缩文件的名称: 例如:

'app\config\AllAsset' => [
    'js' => 'js/all-{hash}.js',
    'css' => 'css/all-{hash}.css',
    'depends' => [ ... ],
]

文件名可以包含占位符 "{hash}",他将由生成的文件的哈希填充。

为了压缩不通的资源组,你可以指定多个目标包。 在这种情况下你应该使用 'depends' 键来指定,哪些包应该包含在特定的目标包中。 对于单个包,你可以将 'depends' 保留为空,它将压缩所有剩下的包 在这种情况下。 例如:

'allShared' => [
    'js' => 'js/all-shared-{hash}.js',
    'css' => 'css/all-shared-{hash}.css',
    'depends' => [
        // Include all assets shared between 'backend' and 'frontend'
        'yii\web\YiiAsset',
        'app\assets\SharedAsset',
    ],
],
'allBackEnd' => [
    'js' => 'js/all-{hash}.js',
    'css' => 'css/all-{hash}.css',
    'depends' => [
        // Include only 'backend' assets:
        'app\assets\AdminAsset'
    ],
],
'allFrontEnd' => [
    'js' => 'js/all-{hash}.js',
    'css' => 'css/all-{hash}.css',
    'depends' => [], // Include all remaining assets
],
public array $targets = []

方法详情

actionCompress() 公共 方法

根据给定的配置组合和压缩资源文件。 在此过程中将创建新的资产包配置文件。 为了使用压缩文件,您应该用这个文件替换原来的资源包配置。

public void actionCompress($configFile, $bundleFile)
$configFile string

配置文件名。

$bundleFile string

输出资源包配置文件名。

actionTemplate() 公共 方法

创建配置文件模板给 actionCompress()

public integer actionTemplate($configFile)
$configFile string

输出文件名。

return integer

CLI 退出码。

throws yii\console\Exception

失败。

adjustCssUrl() 受保护 方法

调整 CSS 内容允许指向原始资源的 URL 引用。

protected string adjustCssUrl($cssContent, $inputFilePath, $outputFilePath)
$cssContent string

源 CSS 内容。

$inputFilePath string

输入 CSS 文件名。

$outputFilePath string

输出 CSS 文件名。

return string

调整后的 CSS 内容。

adjustDependency() 受保护 方法

按照源包依赖输出的方式调整资源包之间的依赖关系。

protected yii\web\AssetBundle[] adjustDependency($targets, $bundles)
$targets yii\web\AssetBundle[]

输出资源包。

$bundles yii\web\AssetBundle[]

源资源包。

return yii\web\AssetBundle[]

输出资源包。

buildTarget() 受保护 方法

构建输出资源包。

protected void buildTarget($target, $type, $bundles)
$target yii\web\AssetBundle

输出资源包。

$type string

'js' 或 'css'。

$bundles yii\web\AssetBundle[]

源资源包。

throws yii\console\Exception

失败。

combineCssFiles() 公共 方法

将 CSS 文件合并到一个里面。

public void combineCssFiles($inputFiles, $outputFile)
$inputFiles array

源文件名字。

$outputFile string

输出文件名。

throws yii\console\Exception

失败。

combineJsFiles() 公共 方法

将 JavaScript 文件合并到一个里面。

public void combineJsFiles($inputFiles, $outputFile)
$inputFiles array

源文件名字。

$outputFile string

输出文件名。

throws yii\console\Exception

失败。

compressCssFiles() 受保护 方法

压缩给定的 CSS 文件并将他们合并到一个文件里面。

protected void compressCssFiles($inputFiles, $outputFile)
$inputFiles array

源文件名字列表。

$outputFile string

输出文件名。

throws yii\console\Exception

失败

compressJsFiles() 受保护 方法

压缩给定的 JavaScript 文件并将他们合并到一个文件里面。

protected void compressJsFiles($inputFiles, $outputFile)
$inputFiles array

源文件名字列表。

$outputFile string

输出文件名。

throws yii\console\Exception

失败

getAssetManager() 公共 方法

返回资源管理器实例。

public yii\web\AssetManager getAssetManager()
return yii\web\AssetManager

资源管理器实例。

throws yii\console\Exception

在无效配置上。

loadBundles() 受保护 方法

创建源资源包的完整列表。

protected yii\web\AssetBundle[] loadBundles($bundles)
$bundles string[]

资源包名称列表。

return yii\web\AssetBundle[]

源资源包列表。

loadConfiguration() 受保护 方法

将给定文件中的配置应用于自身实例。

protected void loadConfiguration($configFile)
$configFile string

配置文件名。

throws yii\console\Exception

失败。

loadDependency() 受保护 方法

递归加载资源包依赖项。

protected void loadDependency($bundle, &$result)
$bundle yii\web\AssetBundle

包实例

$result array

已经记载包列表。

throws yii\console\Exception

失败。

loadTargets() 受保护 方法

创建输出资源包的完整列表。

protected yii\web\AssetBundle[] loadTargets($targets, $bundles)
$targets array

输出资源包配置。

$bundles yii\web\AssetBundle[]

源资源包列表。

return yii\web\AssetBundle[]

输出资源包列表。

throws yii\console\Exception

失败。

registerBundle() 受保护 方法

注册资源包包括其依赖项。

protected void registerBundle($bundles, $name, &$registered)
$bundles yii\web\AssetBundle[]

资源包列表。

$name string

包名字。

$registered array

存储已注册的名字。

throws yii\console\Exception

如果检测到循环依赖项。

saveTargets() 受保护 方法

保存新的资源包配置。

protected void saveTargets($targets, $bundleFile)
$targets yii\web\AssetBundle[]

要保存的资源包列表。

$bundleFile string

输出文件名。

throws yii\console\Exception

失败。

setAssetManager() 公共 方法

设置资源管理器实例或配置。

public void setAssetManager($assetManager)
$assetManager yii\web\AssetManager|array

资源管理器实例或它的配置数组。

throws yii\console\Exception

在无效参数类型上。