0

我想创建一个CMS,安装和配置是第一位的。我想在这里做几个阶段:

  1. 显示具有服务器要求的页面
  2. 显示数据库配置“窗口”
  3. 点击提交后,显示其他一些配置窗口

等等,直到完成。


我的问题是严格设计发布的:

  1. 如何检查用户是否已经完成安装过程?我可以在完成后创建 config.php 文件并检查它的存在 - 这是一个好的解决方案吗?我认为file_exists()会减慢应用程序的速度。

  2. 当我在这篇文章顶部的阶段中单击“提交”时,我需要将请求重定向到config类方法 - 所以需要路由。这是一个好的解决方案吗?

  3. 最后,当我单击提交并且我在类的方法中,做某事时,我需要将用户移动到下一个窗口。我该怎么做?需要从此方法内部的 html 文件?使用相同的文件重定向到不同的方法,包括?

4

2 回答 2

0

广告1。每次呈现页面时,您可能都必须与 DB 建立连接,因此无论如何您都必须读取配置文件。如果没有配置,您可以添加一些重定向到安装页面(您还可以检查一些其他内容,因为只有在没有引发配置异常时才会检查它)。

广告2。您不需要任何花哨的路由来进行重定向。

header("Location: http://www.example.com/");

广告3。我不确定“我在课堂上的方法”是什么意思。您使用任何 PHP 框架吗?您只能在 URL 之间重定向,这些 URL 可以是服务器上的 .php 脚本的简单地址,也可以用mod_rewrite模块屏蔽(或类似的,以防您不使用 Apache)。因此,您应该至少有一个用于正常站点查看的脚本和另一个用于安装的脚本。安装完成后,您将重定向到处理请求的常规脚本。

正如其他人建议的那样,我还建议您进一步阅读MVC 模式,并考虑使用一些框架(Zend 框架只是一个例子)。

于 2013-05-17T12:44:40.287 回答
0
  1. 通过在安装过程结束时创建一个配置文件,您做得很好。无论如何,您的应用程序都需要从文件中提取配置数据。

  2. 在诸如 CMS 之类的复杂应用程序中,您将无法使用某种路由,所以是的,这将是一个非常好的解决方案。

  3. 是否重定向到另一个动作取决于你想要做什么。我会在我的控制器中将每个步骤作为单独的操作。您绝对应该将您的业务逻辑与您的输出分开,这意味着您需要在业务逻辑的操作中加载您的 html 文件。

根据您的问题,我看到您可能会阅读一些内容。我建议你看看 MVC Pattern ( Why should I use MVC in a php website? )。

一旦你理解了 MVC,你的第二个也是最后一个问题会自动清晰。

(对于所有潜在的反对者:不,我不是“不择手段”的 MVC 传教士。但是 CMS 只是 MVC 可以派上用场的应用程序)

于 2013-05-17T12:44:15.707 回答