mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	@ -169,10 +169,10 @@ AppAsset::register($this);  // $this - представляет собой об
 | 
			
		||||
 | 
			
		||||
### Динамические Комплекты Ресурсов <span id="dynamic-asset-bundles"></span>
 | 
			
		||||
 | 
			
		||||
Поскольку комлект ресурсов это обычный PHP класс, он может содержать дополнительную логику, связанную с ним, и может
 | 
			
		||||
Поскольку комплект ресурсов это обычный PHP класс, он может содержать дополнительную логику, связанную с ним, и может
 | 
			
		||||
корректировать свои внутренние параметры динамически. Например, вы можете использовать сложную JavaScript библиотеку,
 | 
			
		||||
которая предоставляет интернационализацию через отдельные исходные файлы: по одному на каждый поддерживаемый язык.
 | 
			
		||||
Таким образом, вам нужно добать определенный '.js' файл на вашу страницу, чтобы применить перевод для библиотеки.
 | 
			
		||||
Таким образом, вам нужно добавить определенный '.js' файл на вашу страницу, чтобы применить перевод для библиотеки.
 | 
			
		||||
Этого можно достичь, переопределив метод [yii\web\AssetBundle::init()]:
 | 
			
		||||
 | 
			
		||||
```php
 | 
			
		||||
@ -196,7 +196,7 @@ class SophisticatedAssetBundle extends AssetBundle
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Конкретный комлект ресурсов может быть также изменен через его экземпляр, возвращенный методом [[yii\web\AssetBundle::register()]].
 | 
			
		||||
Конкретный комплект ресурсов может быть также изменен через его экземпляр, возвращенный методом [[yii\web\AssetBundle::register()]].
 | 
			
		||||
Например:
 | 
			
		||||
 | 
			
		||||
```php
 | 
			
		||||
@ -207,7 +207,7 @@ $bundle = SophisticatedAssetBundle::register(Yii::$app->view);
 | 
			
		||||
$bundle->js[] = 'i18n/' . Yii::$app->language . '.js'; // dynamic file added
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
> Замечание: несмотря на то что динамическая корректрировка комлекта ресурсов поддерживается, ее использование - это
 | 
			
		||||
> Замечание: несмотря на то что динамическая корректрировка комплекта ресурсов поддерживается, ее использование - это
 | 
			
		||||
  **плохая** практика, которая может привести к неожиданным побочных эффектам, и которой следует избегать.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -264,10 +264,10 @@ return [
 | 
			
		||||
 | 
			
		||||
Можно также запретить *все* комплекты ресурсов, установив [[yii\web\AssetManager::bundles]] как `false`.
 | 
			
		||||
 | 
			
		||||
Имейте в виду, что настройки, установленный через [[yii\web\AssetManager::bundles]], применяются в момент создания комлекта
 | 
			
		||||
Имейте в виду, что настройки, установленный через [[yii\web\AssetManager::bundles]], применяются в момент создания комплекта
 | 
			
		||||
ресурсов, т.е. в момент срабатывания конструктора. Таким образом, любые изменения, которые произведены над экземпляром
 | 
			
		||||
комлекта ресурсов после этого, перекроют настройки, установленные на уровне [[yii\web\AssetManager::bundles]].
 | 
			
		||||
В частности, изменения, произведенные внутри метода [[yii\web\AssetBundle::init()]] или после регистрации комлекта ресурсов,
 | 
			
		||||
комплекта ресурсов после этого, перекроют настройки, установленные на уровне [[yii\web\AssetManager::bundles]].
 | 
			
		||||
В частности, изменения, произведенные внутри метода [[yii\web\AssetBundle::init()]] или после регистрации комплекта ресурсов,
 | 
			
		||||
имеют приоритет над настройками `AssetManager`.
 | 
			
		||||
Ниже приведены примеры, в которых значения, установленные через [[yii\web\AssetManager::bundles]] не возымеют никакого эффекта:
 | 
			
		||||
 | 
			
		||||
@ -523,8 +523,8 @@ return [
 | 
			
		||||
То есть, массив конфигурации комплекта ресурсов сохраняется в `assets-prod.php` для режима продакшена, и в `assets-dev.php` для режима не продакшена (разработки).
 | 
			
		||||
 | 
			
		||||
> Замечание: этот механизм объединения комплектов ресурсов основан на способности [[yii\web\AssetManager::bundles]] перекрывать
 | 
			
		||||
  поля регистрируемых комплектов ресурсов. Однако, как уже было сказано выше, эта возможность не распрастраняется на
 | 
			
		||||
  изменения, внесенные в комлекты ресурсов на уровне метода [[yii\web\AssetBundle::init()]] ил после регистрации. Вам
 | 
			
		||||
  поля регистрируемых комплектов ресурсов. Однако, как уже было сказано выше, эта возможность не распространяется на
 | 
			
		||||
  изменения, внесенные в комплекты ресурсов на уровне метода [[yii\web\AssetBundle::init()]] ил после регистрации. Вам
 | 
			
		||||
  следует избегать использования динамических комплектов ресурсов в процессе объединения.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -596,7 +596,7 @@ yii asset assets.php config/assets-prod.php
 | 
			
		||||
  [[yii\web\AssetManager::assetMap]], и хотите, чтобы эти настройки применились для исходных файлов для сжатия,
 | 
			
		||||
  вы должны занести эти опции в раздел `assetManager` файла кофигурации для команды `asset`.
 | 
			
		||||
 | 
			
		||||
> Замечание: составляя набор исходных комлектор ресурсов для сжатия, следует избегать использования таких, чьи параметры
 | 
			
		||||
> Замечание: составляя набор исходных комплектор ресурсов для сжатия, следует избегать использования таких, чьи параметры
 | 
			
		||||
  могут изменяться динамически (т.е. на уровне метода `init()` или после регистрации), поскольку они могут функционировать
 | 
			
		||||
  неправильно после сжатия.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user