Вы можете заставить свой метод get_css () получать содержимое CSS-файлов, объединять их вместе и затем выводить кэшированный CSS-файл на диск. Было бы полезно использовать хэш для именования файлов, чтобы генерировать только объединенные CSS-файлы для каждой уникальной комбинации модулей. Таким образом, вы объедините содержимое всех файлов и назовете его так:
$output_filename = md5( $module_a_name . $module_b_name ... ) . '.css' ;
if (! file_exists( $output_filename ) {
//generate merged CSS file
}
// Call back to your template layer to include $output_file in the page header
Проверяя, существует ли этот файл на сервере, вы можете предотвратить повторную работу по генерации файлов, а затем просто вывести стиль, включенный в ваш шаблон, указывая на полученный файл. Никаких изменений .htaccess не требуется, просто дайте файлам обслуживаться так же, как и к другому статическому контенту.
Я ни в коем случае не эксперт по безопасности, но до тех пор, пока PHP настроен на запись этих файлов, а не на неисполняемый каталог, и вы не используете ввод данных пользователем для получения исходных CSS-файлов, у вас все должно быть в порядке. Вам также нужно очистить кэшированные CSS-файлы при обновлении исходных CSS-файлов.