Php 将实时站点迁移到MVC结构的策略?
关于MVC和开始使用MVC有很多很好的内容,但是我很难找到如何在一个预先存在的实时网站上最好地实现MVC结构 我的网站是一个令人讨厌的混搭的回声和连接的HTML,会让任何专业程序员呕吐,但它的工作 然而,我想花一些时间来解决不断增加的技术债务,这意味着要转向一个更理智的MVC结构Php 将实时站点迁移到MVC结构的策略?,php,html,model-view-controller,migration,rewrite,Php,Html,Model View Controller,Migration,Rewrite,关于MVC和开始使用MVC有很多很好的内容,但是我很难找到如何在一个预先存在的实时网站上最好地实现MVC结构 我的网站是一个令人讨厌的混搭的回声和连接的HTML,会让任何专业程序员呕吐,但它的工作 然而,我想花一些时间来解决不断增加的技术债务,这意味着要转向一个更理智的MVC结构 如果可能的话,我想避免一个让我们撕扯100%重写并启动方法,而是一次编写一个部分。但基本控制器的集中式结构似乎不适合这种方法?这是可能的。如果在请求的路径上找不到实际文件,您可以将mod rewrites写为仅重定向到
如果可能的话,我想避免一个让我们撕扯100%重写并启动方法,而是一次编写一个部分。但基本控制器的集中式结构似乎不适合这种方法?这是可能的。如果在请求的路径上找不到实际文件,您可以将mod rewrites写为仅重定向到boot.php或其他任何文件。这将允许您一次完成一个部分。然而,确保所有链接都处于有序状态将是一场噩梦
may wan需要进行重写,并在运行时从旧应用程序中复制和粘贴所需的代码。如果我了解该代码库的总体质量水平,则无法一步转到MVC。这是不可能的。另一个坏消息是,框架不会有帮助。他们无法神奇地将糟糕的代码库转换成类似MVCish架构的东西 相反,您应该关注增量重构。您的目标应该是主要遵循原则和规则的代码。当您重构代码时,体系结构将自行出现。MVC有许多变体和风格 有一件事你可能想看看,那就是使用的方式。检查代码,看看您需要更改什么以满足您的需求(这更多的是一个方向,而不是一个完整的解决方案)。记住,在类似MVC的结构中,视图不是一个模板,但它使用多个模板 你可能从中受益的另一件事是了解更多。实现它们将是朝着创建模型层方向迈出的一大步 哦。。还有一些你可以看的一般讲座(都是30分钟以上):
哦,他对重构大型php项目有一些见解。可能对您有用。我同意这里的其他建议,框架不会是一个神奇的解决方案 然而,从长远来看,这会有所帮助。 我现在已经将许多mishmash站点转换为kohana框架,并有以下经验 起初我对科哈纳了解不够,所以我在重新编写mysite的时候就知道了这一点。我停止了重写,从头开始编写了一个全新的项目来学习kohana,然后又回到了重写项目,现在我对框架有了更好的理解 如果您不理解框架,那么尝试使用它转换旧项目将是一个陡峭的学习曲线
祝您好运安装虚拟机。设置与live server类似的环境。复制你的网站。编写单元测试,然后重构代码库。这样,您的实时站点不会受到影响,完成后,您只需将新站点推到生产站点。要想了解更多的想法,根据你的经验,这将需要一次并行的完全重写,然后翻转开关,一次完成所有任务?@Andreweath,不,这将需要增量重构:分析>重构>测试>发布>重复