Класс yii\console\controllers\AssetController
| Наследование | yii\console\controllers\AssetController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/AssetController.php |
Позволяет объединять и сжимать ваши JavaScript и CSS файлы.
Использование:
-
Создайте файл конфигурации, используя действие
template:yii asset/template /path/to/myapp/config.php
- Отредактируйте созданный файл конфигурации, настроив его для нужд вашего веб-приложения.
-
Запустите действие 'compress', используя созданный конфигурационный файл:
yii asset /path/to/myapp/config.php /path/to/myapp/config/assets_compressed.php
-
Настройте конфигурацию вашего веб-приложения для использования сжатых ресурсов.
Примечание: в консольной среде некоторые псевдонимы путей, такие как @webroot и @web, могут отсутствовать, поэтому соответствующие пути в конфигурации следует указывать напрямую.
Примечание: по умолчанию эта команда полагается на внешние инструменты для выполнения фактического сжатия файлов, см. $jsCompressor и $cssCompressor для получения дополнительной информации.
Свойства Public
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое выполняется в данный момент. | yii\base\Controller |
| $assetManager | yii\web\AssetManager | Экземпляр менеджера ресурсов. | yii\console\controllers\AssetController |
| $behaviors | yii\base\Behavior[] | Список поведений, прикреплённых к этому компоненту. | yii\base\Component |
| $bundles | массив | Список пакетов ресурсов, которые нужно сжать. | yii\console\controllers\AssetController |
| $color | boolean | Включить ANSI цвет в выводе. | yii\console\Controller |
| $cssCompressor | строка|вызываемая функция | Сжиматель CSS файлов. | yii\console\controllers\AssetController |
| $defaultAction | строка | ID действия по умолчанию контроллера. | yii\console\controllers\AssetController |
| $deleteSource | boolean | Удалять исходные файлы ресурсов после сжатия. | yii\console\controllers\AssetController |
| $help | boolean | Показывать ли справку по текущей команде. | yii\console\Controller |
| $helpSummary | строка | yii\console\Controller | |
| $id | строка | ID этого контроллера. | yii\base\Controller |
| $interactive | boolean | Выполнять команду интерактивно. | yii\console\Controller |
| $jsCompressor | строка|вызываемая функция | Сжиматель JavaScript файлов. | yii\console\controllers\AssetController |
| $layout | null|строка|false | Имя макета, применяемого к представлениям этого контроллера. | yii\base\Controller |
| $module | yii\base\Module | Модуль, к которому относится этот контроллер. | yii\base\Controller |
| $modules | yii\base\Module[] | Все родительские модули, в которых находится этот контроллер. | yii\base\Controller |
| $passedOptionValues | массив | Свойства, соответствующие переданным опциям. | yii\console\Controller |
| $passedOptions | массив | Имена опций, переданных во время выполнения. | yii\console\Controller |
| $route | строка | Маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. | yii\base\Controller |
| $targets | массив | Список пакетов ресурсов, которые представляют сжатые выходные файлы. | yii\console\controllers\AssetController |
| $uniqueId | строка | ID контроллера, с префиксом ID модуля (если есть). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | Объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Controller |
| $viewPath | строка | Директория, содержащая файлы представлений для этого контроллера. | yii\base\Controller |
Методы Public
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| actionCompress() | Объединяет и сжимает файлы ресурсов в соответствии с заданной конфигурацией. | yii\console\controllers\AssetController |
| actionTemplate() | Создает шаблон файла конфигурации для actionCompress(). | yii\console\controllers\AssetController |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\base\Controller |
| ansiFormat() | Форматирует строку с кодами ANSI. | yii\console\Controller |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия. | yii\base\Controller |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| bindActionParams() | Связывает параметры с действием. | yii\console\Controller |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| combineCssFiles() | Объединяет файлы CSS в один. | yii\console\controllers\AssetController |
| combineJsFiles() | Объединяет файлы JavaScript в один. | yii\console\controllers\AssetController |
| confirm() | Запрашивает подтверждение от пользователя, введя y или n. | yii\console\Controller |
| createAction() | Создает действие на основе заданного идентификатора действия. | yii\base\Controller |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| findLayoutFile() | Находит соответствующий файл макета. | 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() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getHelp() | Возвращает справочную информацию по этому контроллеру. | yii\console\Controller |
| getHelpSummary() | Возвращает краткое описание этого контроллера в одной строке. | yii\console\Controller |
| getModules() | Возвращает все родительские модули этого контроллера. | yii\base\Controller |
| getOptionValues() | Возвращает свойства, соответствующие параметрам для идентификатора действия. Подклассы могут переопределять этот метод, чтобы указать возможные свойства. | yii\console\Controller |
| getPassedOptionValues() | Возвращает свойства, соответствующие переданным параметрам. | yii\console\Controller |
| getPassedOptions() | Возвращает имена допустимых параметров, переданных во время выполнения. | yii\console\Controller |
| getRoute() | Возвращает маршрут текущего запроса. | yii\base\Controller |
| getUniqueId() | Возвращает уникальный идентификатор контроллера. | yii\base\Controller |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Controller |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого контроллера. | yii\base\Controller |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isColorEnabled() | Возвращает значение, указывающее, включён ли цвет ANSI. | yii\console\Controller |
| off() | Отсоединяет существующий обработчик событий от данного компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| optionAliases() | Возвращает псевдонимы параметров. | yii\console\Controller |
| options() | Возвращает имена допустимых параметров для действия (id). Параметр требует наличия публичного члена, имя которого соответствует имени параметра. | yii\console\Controller |
| prompt() | Запрашивает у пользователя ввод и проверяет его | yii\console\Controller |
| render() | Отображает представление и применяет макет, если он доступен. | yii\base\Controller |
| renderContent() | Отображает статическую строку, применяя макет. | yii\base\Controller |
| renderFile() | Отображает файл представления. | yii\base\Controller |
| renderPartial() | Отображает представление без применения макета. | yii\base\Controller |
| run() | Выполняет запрос, указанный в терминах маршрута. | yii\base\Controller |
| runAction() | Выполняет действие с заданным идентификатором действия и параметрами. | yii\console\Controller |
| select() | Предлагает пользователю выбрать из списка. Ввод «?» покажет список вариантов с их пояснениями. | yii\console\Controller |
| setAssetManager() | Устанавливает экземпляр или конфигурацию менеджера активов. | yii\console\controllers\AssetController |
| setView() | Устанавливает объект представления, который будет использоваться этим контроллером. | yii\base\Controller |
| setViewPath() | Устанавливает директорию, содержащую файлы представления. | yii\base\Controller |
| stderr() | Выводит строку в STDERR | yii\console\Controller |
| stdout() | Выводит строку в STDOUT | yii\console\Controller |
| trigger() | Вызывает событие. | 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() | Возвращает полное описание из блока документации. | yii\console\Controller |
| parseDocCommentSummary() | Возвращает первую строку блока документации. | yii\console\Controller |
| parseDocCommentTags() | Разбирает блок комментариев на теги. | yii\console\Controller |
| registerBundle() | Регистрирует пакеты активов, включая их зависимости. | yii\console\controllers\AssetController |
| saveTargets() | Сохраняет новую конфигурацию пакетов активов. | yii\console\controllers\AssetController |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, которое срабатывает сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, которое срабатывает непосредственно перед выполнением действия контроллера. | yii\base\Controller |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| EXIT_CODE_ERROR | 1 | yii\console\Controller | |
| EXIT_CODE_NORMAL | 0 | yii\console\Controller |
Подробные сведения о свойствах
$assetManager общедоступное свойство
Экземпляр менеджера активов.
public yii\web\AssetManager getAssetManager ( )
public void setAssetManager ( $assetManager )
$bundles общедоступное свойство
Список пакетов активов, которые нужно сжать.
public array $bundles = []
$cssCompressor общедоступное свойство
Сжиматель файлов CSS. Если строка, она обрабатывается как шаблон командной оболочки, который должен содержать заполнитель {from} — имя исходного файла — и {to} — имя выходного файла. В противном случае он обрабатывается как PHP-обработчик, который должен выполнить сжатие.
Значение по умолчанию использует «YUI Compressor»
См. также https://github.com/yui/yuicompressor/.
public string|callable $cssCompressor = 'java -jar yuicompressor.jar --type css {from} -o {to}'
$defaultAction общедоступное свойство
Идентификатор действия по умолчанию контроллера.
public string $defaultAction = 'compress'
$deleteSource общедоступное свойство (доступно с версии 2.0.10)
Удалять ли файлы исходных ресурсов после сжатия. Этот параметр влияет только на те сборки, у которых свойство yii\web\AssetBundle::$sourcePath задано.
public boolean $deleteSource = false
$jsCompressor общественное свойство
Компрессор файлов JavaScript. Если строка, она обрабатывается как шаблон командной оболочки, который должен содержать плейсхолдеры {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 method
Объединяет и сжимает файлы ресурсов в соответствии с заданной конфигурацией.
В процессе будет создан новый файл конфигурации сборки ресурсов. Вам необходимо заменить исходную конфигурацию сборки ресурсов этим файлом, чтобы использовать сжатые файлы.
| public void actionCompress ( $configFile, $bundleFile ) | ||
|---|---|---|
| $configFile | string |
Имя файла конфигурации. |
| $bundleFile | string |
Имя выходного файла конфигурации сборки ресурсов. |
actionTemplate() public method
Создаёт шаблон файла конфигурации для actionCompress().
| public integer actionTemplate ( $configFile ) | ||
|---|---|---|
| $configFile | string |
Имя выходного файла. |
| return | integer |
Код завершения CLI |
| throws | yii\console\Exception |
при ошибке. |
adjustCssUrl() protected method
Настраивает содержимое CSS, позволяя ссылкам на URL указывать на исходные ресурсы.
| protected string adjustCssUrl ( $cssContent, $inputFilePath, $outputFilePath ) | ||
|---|---|---|
| $cssContent | string |
Исходное содержимое CSS. |
| $inputFilePath | string |
Имя входного файла CSS. |
| $outputFilePath | string |
Имя выходного файла CSS. |
| return | string |
Отредактированное содержимое CSS. |
adjustDependency() protected method
Настраивает зависимости между сборками ресурсов таким образом, чтобы исходные сборки стали зависеть от выходных.
| protected yii\web\AssetBundle[] adjustDependency ( $targets, $bundles ) | ||
|---|---|---|
| $targets | yii\web\AssetBundle[] |
Выходные сборки ресурсов. |
| $bundles | yii\web\AssetBundle[] |
Исходные сборки ресурсов. |
| return | yii\web\AssetBundle[] |
Выходные сборки ресурсов. |
buildTarget() protected method
Создаёт выходную сборку ресурсов.
| protected void buildTarget ( $target, $type, $bundles ) | ||
|---|---|---|
| $target | yii\web\AssetBundle |
Выходная сборка ресурсов |
| $type | string |
Либо 'js', либо 'css'. |
| $bundles | yii\web\AssetBundle[] |
Исходные сборки ресурсов. |
| throws | yii\console\Exception |
при ошибке. |
combineCssFiles() public method
Объединяет файлы CSS в один.
| public void combineCssFiles ( $inputFiles, $outputFile ) | ||
|---|---|---|
| $inputFiles | array |
Имена исходных файлов. |
| $outputFile | string |
Имя выходного файла. |
| throws | yii\console\Exception |
при ошибке. |
combineJsFiles() public method
Объединяет файлы JavaScript в один.
| public void combineJsFiles ( $inputFiles, $outputFile ) | ||
|---|---|---|
| $inputFiles | array |
Имена исходных файлов. |
| $outputFile | string |
Имя выходного файла. |
| throws | yii\console\Exception |
при ошибке. |
compressCssFiles() protected method
Сжимает указанные файлы CSS и объединяет их в один.
| protected void compressCssFiles ( $inputFiles, $outputFile ) | ||
|---|---|---|
| $inputFiles | array |
Список имён исходных файлов. |
| $outputFile | string |
Имя выходного файла. |
| throws | yii\console\Exception |
при ошибке |
compressJsFiles() protected method
Сжимает указанные файлы JavaScript и объединяет их в один.
| protected void compressJsFiles ( $inputFiles, $outputFile ) | ||
|---|---|---|
| $inputFiles | array |
Список имён исходных файлов. |
| $outputFile | string |
Имя выходного файла. |
| throws | yii\console\Exception |
при ошибке |
getAssetManager() public method
Возвращает экземпляр менеджера ресурсов.
| public yii\web\AssetManager getAssetManager ( ) | ||
|---|---|---|
| return | yii\web\AssetManager |
Экземпляр менеджера ресурсов. |
| throws | yii\console\Exception |
при некорректной конфигурации. |
loadBundles() protected method
Создаёт полный список исходных сборок ресурсов.
| protected yii\web\AssetBundle[] loadBundles ( $bundles ) | ||
|---|---|---|
| $bundles | string[] |
Список имён сборок ресурсов |
| return | yii\web\AssetBundle[] |
Список исходных сборок ресурсов. |
loadConfiguration() protected method
Применяет конфигурацию из заданного файла к экземпляру.
| protected void loadConfiguration ( $configFile ) | ||
|---|---|---|
| $configFile | string |
Имя файла конфигурации. |
| throws | yii\console\Exception |
при ошибке. |
loadDependency() protected method
Загружает зависимости сборки ресурсов рекурсивно.
| protected void loadDependency ( $bundle, &$result ) | ||
|---|---|---|
| $bundle | yii\web\AssetBundle |
Экземпляр сборки |
| $result | array |
Список уже загруженных сборок. |
| throws | yii\console\Exception |
при ошибке. |
loadTargets() protected method
Создаёт полный список выходных сборок ресурсов.
| protected yii\web\AssetBundle[] loadTargets ( $targets, $bundles ) | ||
|---|---|---|
| $targets | array |
Конфигурация выходных сборок ресурсов. |
| $bundles | yii\web\AssetBundle[] |
Список исходных сборок ресурсов. |
| return | yii\web\AssetBundle[] |
Список выходных сборок ресурсов. |
| throws | yii\console\Exception |
при ошибке. |
registerBundle() protected method
Регистрирует сборки ресурсов, включая их зависимости.
| protected void registerBundle ( $bundles, $name, &$registered ) | ||
|---|---|---|
| $bundles | yii\web\AssetBundle[] |
Список пакетов ресурсов. |
| $name | string |
Имя пакета. |
| $registered | array |
Хранит уже зарегистрированные имена. |
| throws | yii\console\Exception |
если обнаружена циклическая зависимость. |
saveTargets() protected method
Сохраняет конфигурацию новых пакетов ресурсов.
| protected void saveTargets ( $targets, $bundleFile ) | ||
|---|---|---|
| $targets | yii\web\AssetBundle[] |
Список пакетов ресурсов для сохранения. |
| $bundleFile | string |
Имя выходного файла. |
| throws | yii\console\Exception |
при ошибке. |
setAssetManager() public method
Устанавливает экземпляр или конфигурацию менеджера ресурсов.
| public void setAssetManager ( $assetManager ) | ||
|---|---|---|
| $assetManager | yii\web\AssetManager|array |
Экземпляр менеджера ресурсов или его конфигурация в виде массива. |
| throws | yii\console\Exception |
при неверном типе аргумента. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-console-controllers-assetcontroller.html