Coldfusion 创建自己的Web框架

Coldfusion 创建自己的Web框架,coldfusion,frameworks,Coldfusion,Frameworks,我是一名coldfusion程序员,是的,我知道有很多很棒的coldfusion框架 然而,由于我所在的公司的工作方式,代码的样式和结构,我想创建一个垫脚石框架,随着时间的推移,逐渐将它们转移到一些当前的编码样式和标准 但为了实现这一目标,我们需要具有一致业务逻辑和规则的可定制设计 我需要慢慢地将它们移动到一个独立的显示和逻辑中 我对任何火焰战、使用什么框架等都不感兴趣 我感兴趣的是,在创建自己的web框架时,最重要的特性是什么 以下是我希望解决的一些问题: 在开发和生产环境中工作的调试器/服务

我是一名coldfusion程序员,是的,我知道有很多很棒的coldfusion框架

然而,由于我所在的公司的工作方式,代码的样式和结构,我想创建一个垫脚石框架,随着时间的推移,逐渐将它们转移到一些当前的编码样式和标准

但为了实现这一目标,我们需要具有一致业务逻辑和规则的可定制设计

我需要慢慢地将它们移动到一个独立的显示和逻辑中

我对任何火焰战、使用什么框架等都不感兴趣

我感兴趣的是,在创建自己的web框架时,最重要的特性是什么

以下是我希望解决的一些问题:

  • 在开发和生产环境中工作的调试器/服务器监视器,即使我们使用的是Coldfusion 8标准,在开发环境中我们也可以使用cf服务器监视器,但在生产环境中我们不能。所以我希望包括一些免费或开源的调试器/服务器监视器

  • 我想包括一个好的跨脚本保护,这样我就可以将我们从cfqueryparam移开,并允许我们使用cachedwithin,因为我们的版本不支持查询中的cfqueryparam和缓存

  • 能够切换样式、页面和/或更改内容布局……我用Wordpress做了一些工作,喜欢它的主题框架,但讨厌它的性能/加载时间

  • 看,我知道一个公司网站的主要重做需要很长时间,而且可能会导致比我们想要的更多的bug

    这就是我想要创建一个框架的原因,它允许我们在一小步中保持当前的逻辑/功能,但允许显示和逻辑分离

  • 为了弄清楚我的文件夹/url结构是否有seo意义,并且是人类可读的,我过去曾与Able Commerce合作过,并且讨厌它的url结构
  • 很抱歉这个冗长的问题,我不希望你做我的工作:)但是一些逻辑性的建议,指向关于创建框架的好文章的指针……我已经在谷歌上搜索了

    谢谢。

    除了强制性的“你使用coldfusion?!……哈”之外,给你:

  • URL处理,将/a/b/c转换为对应用程序的调用
  • 输入(GET、POST、PUT、DEL)解析到本机结构中
  • Cookie和会话管理(SQL会话存储/Dep注入会话/可插拔)
  • Automagic服务创建(RESTful/SOAPy)什么的
  • 他们将是我的前四名。然后:

  • MVC抽象作为核心框架特性(我知道!)
  • ORM(我讨厌它,但对于一些小事,它是可以的)
  • Automagic输入验证,自动修复控件以获取/发布/删除
  • 认证机制
  • 如果你觉得无聊:

  • CRM和模板
  • 当然,让这些东西稳定和可扩展可能不值得花时间重新发明轮子(是的,我已经尝试过了,我仍然致力于回购)

    除非你有新的方法来处理它,否则不要麻烦。

    除了强制性的“你使用coldfusion?!?…哈”之外,给你:

  • URL处理,将/a/b/c转换为对应用程序的调用
  • 输入(GET、POST、PUT、DEL)解析到本机结构中
  • Cookie和会话管理(SQL会话存储/Dep注入会话/可插拔)
  • Automagic服务创建(RESTful/SOAPy)什么的
  • 他们将是我的前四名。然后:

  • MVC抽象作为核心框架特性(我知道!)
  • ORM(我讨厌它,但对于一些小事,它是可以的)
  • Automagic输入验证,自动修复控件以获取/发布/删除
  • 认证机制
  • 如果你觉得无聊:

  • CRM和模板
  • 当然,让这些东西稳定和可扩展可能不值得花时间重新发明轮子(是的,我已经尝试过了,我仍然致力于回购)


    除非你有新的方法来解决这个问题,否则不要麻烦了。

    我的第一个想法是随着时间的推移去做,几乎不打算创建一个框架

    • 看看你经常重复的内容,然后 为此构建包装器
    • 看看你使用的任何模式 并将其考虑在内
    • 查看您想要使用的任何代码生成

    我的第一个想法是随着时间的推移而做,几乎不打算创建一个框架

    • 看看你经常重复的内容,然后 为此构建包装器
    • 看看你使用的任何模式 并将其考虑在内
    • 查看您想要使用的任何代码生成

    构建这个框架,然后在许多站点上进行优化。

    我也编写了自己的CF框架。这是值得的,因为这个框架正是我想要的,我想要的方式,而且非常灵活。以下是我的建议:

    • 创建一个UDF库,以便尽可能使用CFScript
    • 有一个调试模板,可以在每个HTML响应的底部漂亮地打印所有重要数据和查询。我还使用调试模板通过电子邮件将用户生成的错误以及所有相关的请求、历史记录和查询数据发送给自己
    • 有一个函数可以让您在CFScript中执行查询。具有保护字符串免受SQL注入攻击的配套函数(下面的示例)
    • 将每个请求分成一个区域和一个路径(例如/area/path/to/template)。这允许您根据用户在站点中的位置执行自定义逻辑。令人惊讶的是,这个位置信息对于定制站点是多么有用
    • 不要像Mach ii那样在XML文件中设置站点。只需将模板放在相关位置,并根据请求从index.cfm加载它们
    • 在任何使用多行设置代码的页面上,将所有代码放在单独的模板中,并将其包含在页面顶部。这意味着您可以将页面设置为图形
      sql("SELECT * FROM "#fsafe(this.table)#" WHERE "#fsafe(my.field)#"='#vsafe(my.value)#';", my.cache_mins);
      
      <cfset page = getPage(cgi.script_name)>
      <cf_page title="#page.title#" theme="#page.theme#" pageLayout="[two column]" js="[list of js files to load]" jqueryVer="1.3.2" css="[list of css files to load]">
          Page content, additional custom tags, and/or cfincludes
      </cf_page>