PHP MVC:加载管理设置

PHP MVC:加载管理设置,php,model-view-controller,Php,Model View Controller,我正在构建一个MVC应用程序,它有几个配置设置(如缩略图大小等),由管理员设置,存储在数据库中 使用这些设置的正确方法是什么?换句话说,MVC的哪个部分应该处理这些数据?您应该在视图中处理所有这些数据。理想情况下,您将拥有独立的视图,这取决于您希望对数据执行的操作。某些视图,例如,修改数据可能仅限于管理员,等等。您必须在控制器上设置配置。 阅读本文 我很确定答案取决于管理员希望配置设置的方式 例如,如果您希望有一个单独的屏幕,其中包含用户控件,以便为管理员可以访问的设置分配值,那么您必须使用所有

我正在构建一个MVC应用程序,它有几个配置设置(如缩略图大小等),由管理员设置,存储在数据库中


使用这些设置的正确方法是什么?换句话说,MVC的哪个部分应该处理这些数据?

您应该在视图中处理所有这些数据。理想情况下,您将拥有独立的视图,这取决于您希望对数据执行的操作。某些视图,例如,修改数据可能仅限于管理员,等等。

您必须在控制器上设置配置。
阅读本文

我很确定答案取决于管理员希望配置设置的方式

例如,如果您希望有一个单独的屏幕,其中包含用户控件,以便为管理员可以访问的设置分配值,那么您必须使用所有三个M-V-C部分

V代表带有用户控件的屏幕的html模板代码

M将是一个类似ConfigurationSetting的实体类,用于基于ORM映射到数据库

C将协调V和M。首先,它将它们与正在使用的框架解析的HTTP请求连接,然后将处理过的模板传递给框架以生成HTTP响应


另一种方法是通过数据库直接分配和更新设置。作为一种工具,管理员可以使用内置在您喜爱的框架中的db管理工具或db迁移工具。在任何情况下,您的MVC应用程序都将使用M组件读取指定的数据,并且很可能无法修改这些设置。

您确定吗?化身并不是一个视图属性,而是用户的属性,比如年龄密码。取而代之的是,视图决定是否显示以及如何显示。没有一种方法可以做到这一点。你可以把它写在任何对你最有意义的地方。但理想情况下,这些事情都是在视图中处理的。由于MVC设计模式,视图只负责表示来自数据层(模型部分)的数据。控制器在框架核心组件的帮助下负责解析http请求。因此,从数据库中检索数据并在视图中进行解析看起来更像是一种反模式。我认为框架在这方面很重要。例如,在Django中,您将仅在视图中执行此类操作。