我想我得到了MVC的基本概念,但我不知道应该把我的“主页”放在哪里?我的意思是,例如,如果您导航到stackoverflow.com而不是像stackoverflow.com/questions这样的页面会出现一个附加了明显控制器(“问题”控制器)的页面。
我有一个函数可以根据GET变量确定要使用的控制器,但是我不太确定当该变量丢失时该怎么办。我正在考虑为“默认路径”添加一个define(),但我不确定要使用什么。主页面将属于一个页面类别,但将是它自己的separte实体。使用stackoverflow作为示例,我可以将首页路由到“问题”控制器,但不知道将什么用作动作。“questions / frontpage”对我来说似乎是一个坏名字。
奇怪,但我没有在网上看到任何MVC教程。
答案 0 :(得分:3)
您通常会使用 home 控制器。
如果您在引导程序类型文件中设置了基本路由,只需指向空白$_SERVER['REQUEST_URI']
或类似于您的家庭控制器。
答案 1 :(得分:1)
大多数MVC框架映射控制器而没有为控制器中的“index()”函数指定“action”,这是某种默认行为。
在Kohana的情况下,打电话给http://mysite.com
实际上映射到“默认控制器”(在配置文件中指定,您可以根据需要命名控制器)和控制器内的“index()”函数。
答案 2 :(得分:0)
大多数MVC框架都为路径'/'定义了某种默认路由。你可以调用控制器,无论什么都有意义;如果没有别的,那么“主要”或“默认”工作正常。我通常称之为任何控制器“索引”的“首页”。
答案 3 :(得分:0)
嗯,它可能是任何东西。你通常使用Symfony或Zend,我有一个名为default
或core
的模块/控制器,一般来说主页是该模块/控制器中的index
动作。然后在我的路由配置中,我使用'/'或其他任何路由URL指定为默认路由。
答案 4 :(得分:0)
默认页面默认为“index.html”。 如果您的根“www”目录中有“index.html”,那么如果请求网址上只有网站地址,则会显示该页面。
您可以调整apache配置文件(不确定ASP)以使另一个页面或脚本成为默认值,或者进行索引。(php | jsp | *)是您的默认值。
取决于环境,但我通常会建议您有一个静态的“index.html”页面,其中包含指向您网站动态部分的链接。