Изменение Пути Подключения Js Файла С Его Изменением

Для подключения собираюсь использовать CAssetManager, когда расшариваю конкретный файл, он его обновляет при его изменении, но еще хотелось бы чтобы когда он непосредственно подключается к странице, при его изменении менялся как-нибудь путь до него. Т.е. раньше еще до знакомства с YII, я делал так /js/script.js?v=1, затем произвел какие-нибудь изменения в файле, при подключении дописал /js/script.js?v=2 и т.д. Но бывали периоды когда такие файлы активно меняются и я запаривался каждый раз дописывать что-нибудь в путь, чтобы быть уверенным, что у всех загрузиться этот файл, а будет из кэша. Дак вот есть ли в YII какое-нибудь готовое решение на этот случай?

И еще если такого решения нет, мне видеться вариант наследовать CAssetManager и изменить алгоритм получения хэша пути до файла и добавить в него размер файла, как вам такое решение?

А forceCopy не будет работать так как вам нужно?

forceCopy, я так полагаю это нужно чтобы он принудительно всегда обновлял файлы в папке assets?

Ну допустим он обновится в папке, а путь то до него не поменялся и браузер будет также брать его из кэша.

Все разобрался, заглянул в исходник класса CAssetManager, на самом деле там в хэш имени папки в assets попадает filemtime (получить время последнего изменения файла), так что после любого изменения он не только перезаливает его в assets, но и еще и заливает его в новую папку, т.е. путь меняется автоматически. Мой вопрос был глуп.

asset-ы стандартных виджетов кешируются жестко. Помогает только чистка папки assets. А так да, если идет через publish() все нормально.

Еще есть linkAssets. В этом случае создаются символические ссылки на файлы, вместо копирования в папку assets.