问题标签 [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.

0 投票
2 回答
20996 浏览

java - java.lang.NoSuchMethodException 与构造函数 newInstance

我目前正在使用 Java 开发一些 Web 开发项目,我已经实现了一个前端控制器,其工作是根据路径实例化新的控制器。

所以当用户运行 ?q=user/login ex. 前端控制器应该初始化 UserController,我正在尝试使用这段代码。

这导致一个

我试图在谷歌上查找它,并且在加载对象中声明构造函数、使类公开的错误已经存在。

用户控制器:

0 投票
2 回答
3524 浏览

overriding - Prestashop 1.5 覆盖 FrontController

我正在尝试为/classes/controller/FrontController.php 创建一个覆盖。出于测试目的,我得到了这样写的原始方法:

并且测试类/override/classes/controller/FrontController.php是这样写的

但它总是输出原始方法

有什么我做错了吗?顺便说一句,这适用于不同的域,但不适用于我希望它工作的域,因此可能会发生更复杂的事情。

谢谢你的踢!

0 投票
3 回答
1447 浏览

php - autloader应该在MVC中去哪里?

我正在尝试构建一个简单的 MVC 框架来更好地理解某些概念。我认为需要解决的第一件事是处理我的应用程序的所有请求的前端控制器。

一旦我开始考虑它,我就不确定加载我的应用程序将使用的类的最佳方式。我目前的想法是我的自动加载器应该位于前端控制器中,因为每个请求都使用它。大多数框架通常把它放在哪里?浏览一些已经构建的框架对我没有多大帮助,因为很多功能远远超出了我的需要,使它变得非常复杂以至于难以理解。

我尝试使用的类加载器可以在这里找到https://gist.github.com/221634

只是想弄清楚如何适当地构建和组织一个简单的 MVC 框架。

0 投票
3 回答
3790 浏览

php - 带有 PHP 身份验证脚本的 Javascript 登录页面 - 哪个实现最好?

我为我的 HTTP 文件服务器编写了一个有效的 php 身份验证脚本。现在,我想用一些漂亮的图形编写一个登录页面。我通常用 HTML5、javascript 和 CSS 编写我的页面。我不确定如何实现 php 身份验证脚本。到目前为止,我有两种我认为我知道的方法:

  1. 用 html5 和 javascript 编写登录页面,在用户在输入框中输入名称/密码后使用 ajax 调用 php 脚本,将用户名和密码传递给脚本,并让 php 根据该用户是否经过身份验证返回真或假. 问题是,我不知道如何让 php 返回 true 或 false 到 javascript。

  2. 编写一个 PHP 前端控制器模型,其中 index.php 为图形加载 html5、javascript 和 css,如果用户通过身份验证,则重定向到 html 文件服务器的普通 index.html 文档。这个问题是我不熟悉使用 php 作为前端控制器,我不知道我是否可以使用 javascript 动态更改元素以获得特殊效果,就像它是一个普通的 html5 页面一样。

0 投票
1 回答
358 浏览

php - PHP Front Controller Flow Confusion - Switch 语句只测试过一次

我是 php 新手,对此流程感到困惑。在我看来,当 $action 变量获得新值时, switch($action) 需要多次评估。但我没有看到 switch($action) 被评估,但只有一次。我以 admin_menu.php 为例。如果用户 <p><a href="index.php?action=show_product_manager">Product Manager</a></p>从 admin_menu.php 中选择怎么办?我看不到 index.php 之后在哪里调用,所以我看不到新值将如何测试,因为 switch($action) 已经运行。

0 投票
2 回答
1517 浏览

php - PHP 匹配 URI 到模式

我正在开发一个简单的前端控制器,主要用于学习目的。

我喜欢 Symfony 进行路由的方式,在你的地图中有这样的模式:/news/{category}/{id}并将 category 和 id 变量传递给控制器​​。但我的问题是 - 因为我无法使用 RegEx - 我不知道如何将模式与 URI 匹配。

我该怎么搭配

我应该允许这样的模式:/news/*- where*匹配所有内容?或者变量与一些垃圾混合在一起,像这样/news/{category}_ex/14{id}

获取变量和值并不是什么大问题,但编写一个用于匹配的正则表达式才是。

提前谢谢你的帮助

0 投票
2 回答
1163 浏览

php - 简化前端控制器路由正则表达式

我在制作自己的一个正则表达式来满足我的需求时遇到了很多麻烦。这是一个我试图不使用框架的应用程序,除了 Doctrine,但在那种情况下并不重要。我正在使用前端控制器模式,并使用注释将我的路由映射到控制器的方法。

像:

任何人都可以帮助制作一个正则表达式来匹配我需要的一切吗?

规则是:

  • 必需的:

    • 控制器( /controller,url 上的第一项)
    • 类型(.json、.xml、.html、...)
  • 选修的:

    • 操作(/controller/action,url 上的第二项)
    • 参数(动作和类型之间的一切,/controller/action/param1/param2/param3.type)

这是我设法做到的:

0 投票
3 回答
5357 浏览

php - 带有 MVC 的 PHP 前端控制器

我正在尝试使用前端控制器设计深入研究 MVC。

我想通过使用一行来调用我的整个应用程序,例如在 index.php 中:

我很想摆脱 require_once 行,但我不明白如何在不包含它的情况下加载我的课程?

无论如何,我的主要问题是如何使用一个前端类加载我的各种控制器、模型和视图等。到目前为止,我想出了:

但这似乎有点令人费解并且过于夸张。另外,一旦我在 __construct 中包含了新类,我应该如何加载它?

我很抱歉缺乏知识,我已经用谷歌搜索了很多次,并且我不断提出相同的页面,这些页面似乎并没有扩展我对此事的了解。

0 投票
1 回答
1368 浏览

php - URL 类/方法路由的安全性

他们是否有关于在 url 中使用类名和/或参数的任何安全问题?

我创建了一个简单的 PHP 页面路由器来路由路径,例如:

透露我的类和方法的名称有什么危险吗?还是应该在类方法中进行足够的过滤以使其不成问题?

此外,我的 AJAX 调用将以相同的方式路由。为了确保合法的 AJAX 调用,我能否以某种方式生成每次调用时都会更改的会话令牌。例如,在 AJAX 访问的 PHP 脚本中生成了一个随机数,该随机数也是由调用发送的。如果它们匹配,则它是一个授权请求。唯一的问题是我如何让它们匹配?

0 投票
2 回答
8126 浏览

php - 使 /prestashop/ 部分 url 不可见

我最近使用 prestashop 建立了一个商店,prestashop 的生产安装位于服务器上名为 /prestashop 的子目录中。我想做的是让你不必去http://mydomain.com/prestashop来查看网站,而只需http://mydomain.com

到目前为止我想到了两种方法,我可以将 prestashop 的前控制器在索引文件中移动到根目录,类似于在 wordpress 中所做的,尽管我不确定这是否是一个可行的选择,因为我是没有足够的经验来解决它。以下是所有感兴趣的人的 index.php 代码:

第二种选择是使用 apache 的 mod_rewrite 模块,所以你有类似的东西

但是我打开了已经存在的htaccess文件并且这段代码在那里,所以我不知道这是否可以编辑:

我会继续玩,并试图自己弄清楚,但你们的任何帮助将不胜感激。提前致谢。