Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这是什么设计模式?(或者,你能为我的具体问题推荐一种模式吗?)_Php_Design Patterns - Fatal编程技术网

Php 这是什么设计模式?(或者,你能为我的具体问题推荐一种模式吗?)

Php 这是什么设计模式?(或者,你能为我的具体问题推荐一种模式吗?),php,design-patterns,Php,Design Patterns,我有多个控制器对象,它们要么执行一些脚本,然后重定向到特定页面,要么收集一些数据,将其发送到视图对象,然后显示该视图 我没有为每个控制器实例化创建一个页面,例如main_menu.php、image_browser.php、manage_users.php,而是创建了一个index.php页面,其中包含一个实例化指定类的类。调用index.php时,通过URL GET变量指定要实例化的类。管理实例化的类检查指定的类是否在允许的类名数组中,如果在允许的类名数组中,则实例化类控制器,如果不在允许的类

我有多个控制器对象,它们要么执行一些脚本,然后重定向到特定页面,要么收集一些数据,将其发送到视图对象,然后显示该视图

我没有为每个控制器实例化创建一个页面,例如main_menu.php、image_browser.php、manage_users.php,而是创建了一个index.php页面,其中包含一个实例化指定类的类。调用index.php时,通过URL GET变量指定要实例化的类。管理实例化的类检查指定的类是否在允许的类名数组中,如果在允许的类名数组中,则实例化类控制器,如果不在允许的类名数组中,则实例化MainMenu类

我拥有的这个管理合法类名的类是设计模式吗


或者,这不是一种设计模式吗?

我认为这是一种具有访问控制的调度程序模式。但是,在web应用程序中直接使用用户指定的控制流通常是一种反模式。

我认为这是具有访问控制的dispatcher模式。但是,在web应用程序中直接使用用户指定的控制流通常是一种反模式。

对我来说听起来像是:

前端控制器通过单个处理程序对象传递请求来整合所有请求处理。此对象可以执行常见行为,可以在运行时使用装饰器对其进行修改。然后,处理程序将特定于请求的行为分派给命令对象

另见:

对我来说,这听起来像是一场灾难:

前端控制器通过单个处理程序对象传递请求来整合所有请求处理。此对象可以执行常见行为,可以在运行时使用装饰器对其进行修改。然后,处理程序将特定于请求的行为分派给命令对象

另见:



这听起来很像MVC,有些曲折。密码从哪里来?这是我的密码。我正在尝试清理我构建的CMS,那么它可能根本不是一个已知的模式。你根据一个你一无所知的模式进行详细编码的机会有多大?嘿,我成功地实现了MVC模式,现在正在努力学习更多,并使我的CMS更好。我主要是在征求意见。@lzngood-我知道这可能不是一种模式,这就是我为什么问的原因,或者,这不是一种设计模式吗?我想我应该问一下,这似乎是一种设计模式,还是有一种模式适合于我试图实现的目标?我应该说得更具体一些。这听起来很像MVC,有些曲折。密码从哪里来?这是我的密码。我正在尝试清理我构建的CMS,那么它可能根本不是一个已知的模式。你根据一个你一无所知的模式进行详细编码的机会有多大?嘿,我成功地实现了MVC模式,现在正在努力学习更多,并使我的CMS更好。我主要是在征求意见。@lzngood-我知道这可能不是一种模式,这就是我为什么问的原因,或者,这不是一种设计模式吗?我想我应该问一下,这似乎是一种设计模式,还是有一种模式适合于我试图实现的目标?我应该说得更具体一些。你能解释一下你所说的用户指定的控制流是什么意思吗?@letseatfood:如果实例化的类是由用户直接控制的,那么用户就指定了应用程序的控制流。如果您不十分小心地控制访问,这是一种容易让您暴露安全问题的方法。请您进一步解释一下用户指定的控制流是什么意思?@letseatfood:如果实例化的类由用户直接控制,则用户指定应用程序的控制流。如果你在控制访问时不太小心,这是一个很容易让你暴露安全问题的方法。我不知道前端控制器。我认为我的设置实际上是一个页面控制器或私生子想要的,但我不知道页面控制器,直到你们共享前控制器。谢谢大家!@不客气,让我们一起吃吧。依我看,两者都可以。许多页面控制器,用于处理输入、模型委托和视图渲染调度。一个FrontController,作为这些控制器的中央访问点,并在所有PageController中设置所需的内容。FrontController是MVC的常见模式。我不知道FrontController。我认为我的设置实际上是一个页面控制器或私生子想要的,但我不知道页面控制器,直到你们共享前控制器。谢谢大家!@不客气,让我们一起吃吧。依我看,两者都可以。许多页面控制器,用于处理输入、模型委托和视图渲染调度。一个FrontController,作为这些控制器的中央访问点,并在所有PageController中设置所需的内容。FrontController是一个c ommon模式与MVC相匹配。