问题标签 [front-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 设计模式:前端控制器的对立面是什么?
我熟悉前端控制器模式,其中所有事件/请求都通过单个集中控制器处理。
但是,当您希望在表示层也将应用程序的各个部分分开时,您会怎么称呼它?我的第一个想法是“门面”,但事实证明这是完全不同的东西。
在我的特殊情况下,我正在将一个应用程序从一个庞大的程序混乱转换为一个干净的 MVC 架构,但这是一个长期的过程——我们需要尽可能地将事物分开,以促进与其余部分的缓慢集成系统。我们的应用程序是基于 Web 的,使用 PHP 构建的,例如,我们有一个“index.php”和一个 IndexController、一个“account.php”和一个 AccountController、一个“dashboard.php”和 DashboardController,等等。
php - 从小型网站到中型网站
几年来我一直在编写网站代码,主要是在 php 和 xhtml 中。我来自设计界,但我为做符合标准的网站和出色的界面而感到自豪。还使用了 Wordpress 并喜欢它。大多数时候有非常简单的商业网站,不包括数据库,一切都是从头开始的。每个页面都通过 index?page=xxx 和
但是我有一些潜在客户是较大的网站(我们称它们为“中型网站”),我觉得我缺乏以下几点:
- 如何调度或呈现页面(MVC 控制器而不是索引?page=???)
- 正确的页面层次结构和简单的面包屑实现
- 导航菜单的自动生成,还是维护它们的简单方法?
- 清理网址
- 表单验证
- 简单的数据库支持
我真的不知道我是否应该研究 php 脚本,并提高我的技能或进入 CMS(如 drupal)或 PHP 框架。我发现 Wordpress 非常可靠,并且没有陷入疯狂的惯例中,但我觉得这不是正确的工具。我讨厌带有大文本框的 CMS 页面,因为我习惯于手工编写每个页面,我的页面不是标题和文本框。有感觉吗?
我的 php 技能仍然有点中等/低,但我想听听一些关于下一步应该学习什么的想法!
php - 所有的 Front Classes 都应该使用单例吗?
考虑 Martin Fowler 的企业应用架构模式和前端控制器模式:http ://martinfowler.com/eaaCatalog/frontController.html 显然,它使用了单例模式。好吧,我在 php 应用程序中有一个类包,它们可以一起工作(如 Zend 的控制器包),并且有一个类使它们都可用,并且由于它与 Front Controller 的大部分概念相似,我将其命名为 PackageName_Front。但它不应该是一个单例类(与 Front Controller 相对),所以我仍然让它有 Front 这个名字吗?如果不是,我给它取什么名字?因为它是一个相当大的包,所以我只需要它尽可能地遵循约定(不是以教条的方式!)以便其他开发人员可以阅读。
更多信息:它与控制器无关。它只是一个像 Zend_Form 一样工作的对象(它将 Zend_Form_Element_X 和 Zend_Validate 等所有其他对象的使用合并到一个对象中)但我不能只将它命名为 PackageName。它必须是PackageName_Something,我只是不知道Something应该是什么。也许是“处理程序”?...我只是想确保当有人读到它的名字时,不会对它在整个包中的作用感到困惑 :)
php - 获取当前控制器
在我想达到当前控制器的功能中:
这仅提供处理程序,但不提供当前控制器。
我将代码从函数更改为控制器内部。并询问了我从 getInstance 获得的处理程序和 this
我得到:
我怎样才能到达真正启动的前端控制器?
我不能作为参数传递,因为这个函数被使用了万亿次。
zend-framework - Frontcontroller 插件不加载
当我在 zend frameworker 中使用前端控制器插件时,它似乎在自动加载器之前运行。我该怎么做?
在我的 app.ini
插件/Routes.php
错误信息..
致命错误:在第 111 行的 /usr/share/php/Zend/Application/Resource/Frontcontroller.php 中找不到类“Plugin_Routes”
根本没有包含路径?
front-controller - JSP 页面的 FrontController 实现
我正在开发一个带有几个 JSP 页面的简单网站。每个 jsp 都有一个动态数据,需要在将它们重新加载到浏览器之前从 XML 中读取这些数据。虽然像 Struts2 这样的 MVC 模式在这里更合适,但我不想为简单的 Web 应用程序实现它。
为此,我只想实现FrontController模式,它足以管理带有少量 Helper 类的 jsp 页面。
我想要的是为所有 JSP 页面提供一个集中式控制器。如果用户尝试访问任何 jsp 页面,那么它应该首先转到控制器。所以我尝试使用 URL 模式“/pages/*.jsp”实现一个 servlet,其中 /pages 包含 webcontent 中的所有 jsp 页面。
问题是,每次调用 .jsp 文件时都会调用控制器,但是当我尝试将其分发到 jsp 页面(例如/pages/homepage.jsp)时,它会进入无限循环。很明显,每个 jsp 页面调用总是会再次来到控制器。
那么有没有其他方法可以针对这种情况实现集中式控制器。
提前致谢。
php - 如何从 URI 中提取页码和 ID 号?
我正在尝试通过单个入口点加载我的整个网站,index.php?uri
我的目标是拥有漂亮干净的网址,但到目前为止我已经想出了......
domain.com/section-name/page-of-that-section
所以第一部分将加载该部分的类/文件(邮件、用户、帐户等)
第二部分将加载该部分页面的类/页面
到目前为止,这非常简单明了。对我来说棘手的部分是某些页面会有一个ID 号(用户 ID、消息 ID、博客 ID、论坛 ID、论坛帖子 ID、论坛主题 ID 等),这将用于在数据库的ID号。
接下来,一些页面还会有一个用于分页的页码。
因此,有时会出现页码,有时不会出现页码,与 ID 号相同,具体取决于它所在的部分。
我正在寻找示例、建议、帮助获取页码和 ID 号部分工作,我需要能够获取它们并将它们分配给变量$page_number 和 $id_number
下面是我到目前为止的代码以及我需要访问的一些示例 url。我不想为此使用现有的框架,如果可以的话,请提供帮助我认为我已经接近让它工作了。
现在我已经在 id 号码前添加了 id/ 和 page/ 在寻呼号码前,这可以更改为任何内容(即;id-423423 page-23 page/23 page23 p/23)只要我能获取要存储到 PHP 中的变量的数字
zend-framework - 从 Zend 控制器插件中获取视图对象
在我的控制器中,我有一个 postDispatch 来整合我的 FlashMessenger 消息:
我想把它做成一个控制器插件。
更新:我意识到我为什么需要这个 - 我想在 JSON 上下文调用时以 JSON 格式传递我的闪存消息。除非将消息添加到 View 对象,否则我不会收到消息。
我能够将消息放入数组中,但我不知道如何将它们传递给视图:
奖金问题 - 这是实现这一目标的正确方法吗?谢谢!
java - 使用 url-pattern "/*" 显示转发的 JSP
为了提高我的 Java 技能,我正在尝试构建一个简单的 j2ee 框架 (MVC)。
我构建它来处理 FrontServlet 中的每个请求。这是我使用的映射:
我的问题是,当我将请求从 FrontServlet 转发到 JSP 时,显然,JSP 请求由 FrontServlet 处理并且视图没有呈现。
- 如何通过保留 url-pattern "/*" 来解决这个问题?
- 有没有办法在没有性能损失的情况下在 Servlet 中呈现 JSP?
提前感谢您的回复!
- 解决方案 1(@Bryan Kyle)
我正在努力听从你的建议。我创建了这个过滤器:
- 这样对吗?
谢谢 !
asp.net-mvc-2 - 前端控制器,页面控制器?
前端控制器和页面控制器有什么区别?哪个是最好的?