你们将静态页面(如“主页”)放在 MVC 框架中的什么位置?你有一个“家”控制器吗?“页面”控制器?您是否为每个静态页面创建操作?
我现在正在使用 CFWheels,我正在尝试找出放置它们的最佳位置。
编辑:显然 CFWheels 不需要您为所有视图创建操作。因此,您可以只创建一个空控制器并像操作一样调用视图,而不必写出空白函数。
你们将静态页面(如“主页”)放在 MVC 框架中的什么位置?你有一个“家”控制器吗?“页面”控制器?您是否为每个静态页面创建操作?
我现在正在使用 CFWheels,我正在尝试找出放置它们的最佳位置。
编辑:显然 CFWheels 不需要您为所有视图创建操作。因此,您可以只创建一个空控制器并像操作一样调用视图,而不必写出空白函数。
CakePHP(我猜是Ruby On Rails)有一个“页面”控制器。有一个路由功能将请求重定向到/pages/foo
to /pages/display/foo
。同样,/
被重定向到/pages/display/home
. 该display
操作在views/pages
文件夹中查找具有匹配名称的任何文件并呈现该文件。
归根结底,静态页面是一个没有模型的视图,它是根据用户通过点击特定路线从您的服务器请求的操作返回的。:-)
是的,从技术上讲,您可以将视图资源的直接位置公开给用户,并依靠 http 守护程序去获取它并返回它。但是,这意味着资源 URL 现在不再与您要公开的资源的语义相关联,而是与实际位相关联。这意味着如果您想要同一资源的另一种表示,您必须在不同的 URL 上公开它。
因此,当您创建 Web 应用程序的结构时,首先要考虑要公开的 URL 和资源,然后考虑如何实现每个资源。
在 Wheels 中,您甚至不需要创建控制器文件。
如果您在此处创建视图:views/about/index.cfm
您根本不需要创建控制器文件。那么你应该可以毫无问题地调用它: http ://www.example.com/about
我使用带有私人管理页面的简单 CMS 将静态页面放入数据库。
这样,客户可以自己进行简单的更改。