Честно говоря, рамки могут привести к параличу анализа довольно легко. Вы можете легко обдумать вещи. Вот что вы делаете, делайте это просто и просто стучите по клавиатуре. Используйте свой «собственный» фреймворк. Это может быть не красиво, но вы получите это в конце концов, и вы поймете, почему существуют другие платформы.
Вот как вы начинаете:
Создание макетов папок и видов. Поместите все свои элементы макета страницы в папки макетов (вероятно, у вас будет только несколько, а может быть, даже один макет)! Поместите все ваши представления в папку представлений (это, вероятно, будет похоже на то, что вы делали с кучей файлов, которые не очень хорошо организованы). Ключ в том, что в ваших файлах просмотра не будет НИКАКОЙ страницы, обрабатывающей код «верх страницы».
Ваш index.cfm будет единственным корнем .cfm. Используйте переменную URL "event" = action, чтобы заставить ваш фреймворк работать.
В вашем index.cfm используйте гигантский cfswitch, чтобы определить, какой код «верхней части страницы» выполнять (это будет гигантский «контроллер»).
mysite.com / index.cfm? Событие = CONTACTINFO
<cfswitch expression="#url.event#">
<cfcase value="contactInfo">
<top of page code>
<cfset structLayoutInfo["pagetitle"] = "XYZ Contact Info" />
<cfmodule template="/layouts/mainlayout.cfm" attributeCollection="#structLayoutInfo# >
<cfinclude template="/views/contactInfo.cfm"/>
</cfmodule>
</cfcase>
.....
</cfswitch>
Объедините это с тегом cfmodule для загрузки вашего макета. Итак, все ваши запросы к странице приходят через index.cfm. Index.cfm выполнит всю верхнюю часть страницы, а затем сделает cfinclude для соответствующего представления в вашей папке представлений. Используйте тег cfmodule для загрузки вашего макета (ознакомьтесь с материалом режима tag.execution для верхних и нижних колонтитулов).
Вы продолжите добавлять функции и добавлять функции в вашу платформу. Вы, вероятно, перенесете код index.cfm в папку контроллера с кучей CFC, которые вызывают ваши CFC базы данных.