Php HMVC内部/外部请求和路由?

Php HMVC内部/外部请求和路由?,php,model-view-controller,url-routing,hmvc,Php,Model View Controller,Url Routing,Hmvc,在阅读了这个问题和答案后,我想我理解了HMVC的概念;答案摘录如下: 假设您希望有一个视图,使用户能够创建 评论一篇博客文章。您将有名称、电子邮件和标题字段 和注释,但您还希望将字段国家显示为 下拉列表。在显示此视图的操作中,您将创建一个 数据库查询,用于加载国家/地区,然后填充该国家/地区 下拉列表。这是可以的,但它会强制您复制查询和 如果在另一个国家/地区需要,则显示该国家/地区所需的视图 你申请的一部分。更好的方法是创建 具有返回视图的操作的国家/地区的单独控制器 使用下拉菜单,然后在需要

在阅读了这个问题和答案后,我想我理解了HMVC的概念;答案摘录如下:

假设您希望有一个视图,使用户能够创建 评论一篇博客文章。您将有名称、电子邮件和标题字段 和注释,但您还希望将字段国家显示为 下拉列表。在显示此视图的操作中,您将创建一个 数据库查询,用于加载国家/地区,然后填充该国家/地区 下拉列表。这是可以的,但它会强制您复制查询和 如果在另一个国家/地区需要,则显示该国家/地区所需的视图 你申请的一部分。更好的方法是创建 具有返回视图的操作的国家/地区的单独控制器 使用下拉菜单,然后在需要时渲染该操作 显示国家列表

我无法理解的是,如果我可以在内部请求一个控制器/模型/视图,它只显示一个小部件(例如国家/地区选择框),这难道不意味着从浏览器访问该url也将显示该视图吗

这在HMVC中是如何管理的,路由是否仅定义为内部/外部,因此将内部路由与外部请求匹配将显示404页面


这通常是这样做的吗?上面的HMVC描述/定义在大多数web应用程序中的通用用例中是否可以满足?

在浏览器中显示子请求的输出应该不是问题,所以我不想麻烦,特别是用户不知道这些URL,单独输出小部件是安全的


尽管如此,正如@deceze所提到的,您可以不将这些控制器连接到任何路由。如果您有一个“默认”路由(匹配所有请求),那么您必须禁用它。

您可以不将控制器连接到任何路由,直接在其他控制器中对其进行内部调用,这样外部就不会有人看到它