Adobe ColdFusion (и Railo) компилируют шаблоны CFML в байт-код JVM и, если это настроено, записывают скомпилированный класс (ы) на диск в виде файлов .class.Кэш шаблонов - это механизм, позволяющий сказать: если целевой класс уже загружен, не беспокойтесь о том, чтобы посмотреть (исходный) файл на диске, чтобы определить, нуждается ли он в перекомпиляции, - доверяйте тому, что находится в памяти.ACF и Railo позволяют указать, что (исходные) файлы можно проверять всегда (не доверять), один раз за запрос, никогда (никогда не доверять).
Это не должно быть новостью для всех.
Очевидно, что ACF и Railo скомпилируют любой файл .cfm или .cfc, который их просят обработать, чтобы они "оказались" в доверенном кэше, если он включен.
Если вы включите файл - любойfile - ACF и Railo также скомпилируют это в байт-код JVM (и создадут файл .class на диске, если настроено для этого).Поскольку включенный файл компилируется, он также «попадает» в доверенный кеш.Что произойдет, если вы включите CSS-файл?Он компилируется в байт-код, который выводит все содержимое файла CSS в виде строки в поток ответов.Так как это скомпилированный класс, который теперь выводит жестко закодированную строку, если вы измените исходный файл CSS и включили доверенный кеш, ACF и Railo будут доверять тому, что находится в загрузчике классов, и не перекомпилируют его (при условии, что источник проверки никогда не проверяется администратором).настройка).
Вы можете убедиться в этом, очистив папку cfclasses, перезапустив ваш CFML-движок и запустив код.Вы увидите файл .class для вашего CSS-файла (при условии, что у вас включено сохранение файлов классов на диск).
Итак, cfinclude принудительно компилирует «любой» файл, и к нему применяются обычные правила доверенного кэша.классы загружены в память.
Я больше не использую ACF, поэтому я не могу подробно говорить о файлах .cfr (Railo не поддерживает файлы отчетов), но это, скорее всего, будет зависеть от того, компилирует ли ACF файл .cfrили нет.Это должно быть легко проверить (заглянув в папку cfclasses).