Spec-Zone.ru › Yii 2.0

Класс 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 файлы.

Использование:

  1. Создайте файл конфигурации, используя действие template:

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

  2. Отредактируйте созданный файл конфигурации, настроив его для нужд вашего веб-приложения.
  3. Запустите действие 'compress', используя созданный конфигурационный файл:

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

  4. Настройте конфигурацию вашего веб-приложения для использования сжатых ресурсов.

Примечание: в консольной среде некоторые псевдонимы путей, такие как @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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API