среда, 29 июля 2009 г.

Сказка про ram://

Отличительной и крайне положительной новинкой в ColdFusion 9 стала поддержка виртуальной системы.


Это значит, что вы можете “записывать” cf-страницы и даже компоненты в эту систему, изменять их, копировать и удалять, а также вызывать. Круто, да?


Как это делается? Легко. Смотрите пример:



<cfset a="Это наш тестовый текст, но может быть всё, что угодно">
<cffile action="write" output="#a#" file="ram://имя_файла.cfm"/>


Вот и всё, вы записали файл в виртуальную файловую систему, которая как видно из кода подразумевается под ram://.  Разумеется, вы можете создавать папки и записывать в них.


Что это даёт? Скорость!


Кроме того, в администраторе вы сможете настроить маппинг для таких файлов, чтобы это вообще было похоже на что-нибудь такое:



<cfinclude template="/inmemory/имя_файла.cfm">


Тоже самое и с копонентами:



<cfset cfc=CreateObject("component","inmemory.имя_компонента")/>


Создать папку внутри виртуальной файловой системы очень просто, также как и в обычном случае:



<cfdirectory action = "create" directory = "ram://имя_папки" >


А вот какие теги можно использовать в cf-страницах, помещённых в ram://:


• cfcontent


• cfdocument


• cfdump


• cfexchange


• cfexecute


• cffeed


• cfhttp


• cfftp


• cfimage


• cfloop


• cfpresentation


• cfprint


• cfreport


• cfzip


Ограничения:


1) к таким файлам невозможно обратиться через FTP/HTTP;


2) DDX-файлы и файлы шрифтов нельзя помещать в RAM;


3) через cfimport нельзя импортировать теговые библиотеки;


4) нельзя переименовать файл, находящийся в RAM с последующим сохранением непосредственно в настоящей файловой системе;


5) тег cfexecute не будет фурычить.


Комментариев нет:

Отправить комментарий