Для чего это делается, я думаю, все понимают – сокращается количество запросов к северу и уменьшается вес этих файлов, в итоге загрузка страниц сайта заметно ускоряется. Если еще gzip-ом пожать – вообще красота.

В Yii для этих целей очень удобно использовать расширение EClientScript – файлы добавляемые с помощью
Yii::app()->clientScript->registerScriptFile('someFile.js')
будут склеены в один и минифицированы. Та же история с CSS и
->registerCssFile(' ... ')
.

При этом на сервере разработчика, где
YII_DEBUG
установлена в
true
, подключаемые файлы остаются нетронутыми – вы можете их редактировать не беспокоясь об отключении склейки и минификации. После разворачивания на продакшен вся эта статика будет склеена и минифицирована.
Все это, разумеется, при соответствующих настройках.

Установка и использование


Скачайте расширение и распакуйте его в каталог protected/extensions (или другой, который вы для этих целей используете). В protected/config/main.php, в секцию components добавьте (или исправьте):
'clientScript' => array(
    'class' => 'application.extensions.EClientScript.EClientScript',
    'combineScriptFiles' => ! YII_DEBUG, // По умолчанию это значение равно true. Установите в false, если не хотите склеивать javascript файлы
    'combineCssFiles' => ! YII_DEBUG, // То же, но для CSS файлов
    'optimizeScriptFiles' => ! YII_DEBUG, // Минифицировать JS файлы
    'optimizeCssFiles' => ! YII_DEBUG, // Минифицировать CSS файлы
    'optimizeInlineScript' => false, // Минифицировать JS внутри страниц. Это может замедлить загрузку
    'optimizeInlineCss' => false, // То же, но для CSS внутри страниц – в секции <head></head>
),


Вот, собственно, и все. Если вдруг вы подключали статику как
<script src="..."></script>
или
<link href="..." />
, то исправьте это, используя
Yii::app()->clientScript
.