【问题标题】:Static pages in MVC framework?MVC框架中的静态页面?
【发布时间】:2010-02-05 01:12:13
【问题描述】:

你们将静态页面(如“主页”)放在 MVC 框架中的什么位置?你有一个“家”控制器吗? “页面”控制器?您是否为每个静态页面创建操作?

我现在正在使用 CFWheels,我正在尝试找出放置它们的最佳位置。


编辑:显然 CFWheels 不需要您为所有视图创建操作。因此,您可以只创建一个空控制器并像操作一样调用视图,而不必写出空白函数。

【问题讨论】:

    标签: model-view-controller design-patterns cfwheels


    【解决方案1】:

    CakePHP(我猜是 Ruby On Rails)有一个“页面”控制器。有一个路由功能可以将请求重定向到/pages/foo/pages/display/foo。同样,/ 被重定向到/pages/display/homedisplay 操作在 views/pages 文件夹中查找具有匹配名称的任何文件并呈现该文件。

    【讨论】:

      【解决方案2】:

      归根结底,静态页面是一个没有模型的视图,它是根据用户通过点击特定路线从您的服务器请求的操作返回的。 :-)

      是的,从技术上讲,您可以将视图资源的直接位置公开给用户,并依靠 http 守护进程获取并返回它。但是,这意味着资源 URL 现在不再与您要公开的资源的语义相关联,而是与实际位相关联。这意味着,如果您想要同一资源的另一种表示形式,则必须在不同的 URL 上公开它。

      因此,当您创建 Web 应用程序的结构时,首先要考虑要公开的 URL 和资源,然后再考虑如何实现每个资源。

      【讨论】:

      • 如果你在评论我所说的关于 CF Wheels 的话,我的措辞很糟糕。它不直接调用文件,你仍然可以路由它们,你只是不必为每个视图都有毫无意义的空函数:)
      【解决方案3】:

      我使用带有私人管理页面的简单 CMS 将我的静态页面放入数据库中。

      这样,客户可以自己进行简单的更改。

      【讨论】:

      • 我相信,在数据库上制作静态页面根本不会使它们成为静态的。静态页面的真正本质是你可以玩弄里面的内容。 SP(static page) A 作为左侧的图像。 SP B 作为右侧的图像。 SP C 根本没有图像等...如果我们将这些信息存储在数据库中,我们如何涵盖所有可能的布局变化?我们真的应该在客户手中利用布局设计吗?
      【解决方案4】:

      在 Wheels 中,您甚至不需要创建控制器文件。

      如果您在此处创建视图: 意见/关于/index.cfm

      您根本不需要创建控制器文件。然后你应该可以毫无问题地调用它: http://www.example.com/about

      【讨论】:

      • 啊...虽然这很好,但我认为你在滥用索引文件 ;)
      • 嘿,如果您需要添加 views/about/executives.cfm 和 views/about/contact.cfm 或其他内容,它会起作用。然后你可以访问 www.example.com/about/executives 和 www.example.com/about/contact 等。或者你的笑话有什么我没听懂的吗?哈哈
      • 我的观点是,我认为您不应该为每个静态页面创建一个包含单个文件的文件夹。但如果你打算把其他东西扔进去,那当然。
      猜你喜欢
      • 1970-01-01
      • 2017-11-04
      • 2016-05-08
      • 2013-06-11
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      相关资源
      最近更新 更多