设计安装过程

时间:2013-05-17 12:23:33

标签: php

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

  1. 显示包含服务器要求的页面
  2. 显示数据库配置“窗口”
  3. 点击提交后,显示其他配置窗口
  4. 等。直到它完成。


    我的问题严格按照设计发布:

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

    2. 当我在本文顶部的各个阶段点击“提交”时,我需要将请求重定向到config类方法 - 因此需要路由。这是一个很好的解决方案吗?

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

2 个答案:

答案 0 :(得分:0)

  1. 通过在安装过程结束时创建配置文件,您做得非常好。无论如何,您的应用程序需要从文件中提取配置数据。

  2. 在像CMS这样的复杂应用程序中,你不会使用某种路由,所以是的,这是一个非常好的解决方案。

  3. 是否重定向到其他操作取决于您要执行的操作。我会在控制器中将每一步都作为一个单独的动作。你应该明确地从输出中分离你的业务逻辑,这意味着你需要在业务逻辑的操作中加载你的html文件。

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

    一旦你理解了MVC,你的第二个和最后一个问题就会自动清楚。

    (对所有潜在的downvoters:不,我不是“通过钩子或骗子”MVC传教士。但CMS只是一个应用程序,MVC会派上用场)

答案 1 :(得分:0)

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

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

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

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

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