如何在我的PHP / SQL / HTML / CSS代码上实现MVC样式?
我一直在开发一个可视化某些数据的程序.我的程序从
MySQL数据库中获取特定输入并绘制一些图形(libchart库),创建一些表等.
我的问题是,现在它的代码地狱.我有大约7个PHP文件(索引,图形页面,图库等)与HTML / CSS和PHP / SQL代码一起(其中一些只有PHP扩展但内部只有HTML).我暂时没有问题阅读和理解该项目,但我想如果有人试图,他可能会头疼.此外,继续这样的编程是不切实际的,因为该项目未来可能不容易扩展. 您对如何从PHP / SQL成功分离HTML / CSS有任何建议吗?我不想使用框架,因为我没有做任何需要用户输入,会话处理等的事情.我只是运行一些查询并可视化结果.我主要在这里谈论建筑,如果适用,也许是一个脚本来帮助我(我已经读过Smarty,但我不确定这是否是我需要的).
恭喜您了解如何改进代码.这是前提条件,你需要改进它,而且主题很冗长.所以你的意志至关重要. 我轻轻一点,然后试着给出一些提示.由于您缺少经验,请先寻找一点,最重要的是下面列表的最后一点.但首先要做的事情是: 要将某些东西彼此分开,您需要有一些分隔的代码: [HTML/CSS/PHP/SQL] [HTML/CSS] <--> [SEPARATOR] <--> [PHP/SQL] 这里的Separator实际上也是PHP代码,但我认为你明白了. 正如您所看到的,只有Separator与HTML / CSS和PHP / SQL进行了对话. 所以HTML / CSS和PHP / SQL都需要有一个带有Separator的接口(它们之间的线)才能使它工作. 通常在程序中传递得到处理的数据.数据非常动态,并且可能具有复杂的复杂性,特别是如果您将数据传递给应该正确格式化的输出例程. 有多种方法可以编写这样的分隔符(或多个分隔符).您可以对软件进行分层,也可以提供在其区域或域中执行操作的组件.例如.您有一个数据库层或数据库组件,负责与数据库的交互. 或者你有一个模板引擎,它会将你的字符串和数组放入一些可读的HTML中. 简而言之,这就是软件设计的面食理论: >意大利面条代码 – 一体化,代码交织在一起,最好是Bolognese或Aglio,Olio e Peperoncino. 就像我们在生活中吃不同的意大利面一样,在编程时我们也需要处理所有这些不同类型的代码,并且随着时间的推移我们开发自己喜欢的味道.作为一个孩子,我们是饲料,但随着时间的推移,我们开始做自己的东西,并改变食谱. 所以我认为这是一个很好的观点,你现在不想在接下来的几周里吃MVC Framework X非常棒,因为有人告诉你这是现在吃的方式.在吃之前,有品尝,对吧?更不用说快餐了,你知道这些面条酱包装 – 只加水. Urgh. 我不知道您的输出需要哪些数据以及输入是什么.以下是输出HTML / CSS并与MySQL数据库交互的应用程序的一些粗略的重构技巧.这可能不是一个完整的列表,描述只能粗略地概述一些想法: >将CSS移出HTML.在链接的CSS定义中有效使用选择器,如果还有一些,则替换任何样式属性.这使您的CSS代码可以重复使用并且更加模块化.它将帮助您找到HTML中的缺陷并将结构(HTML)与Presentation(CSS)分开.有效的HTML从有效使用CSS开始,这两者非常强大,通常这将减轻你的程序输出例程. >模板引擎:Mustache >创建应用程序状态,例如作为一个对象,你可以利用一些组件需要知道应用程序状态或彼此之间没有直接交互.默认情况下,如果您没有PHP,则使用全局和全局静态变量来创建状态.但是,随着代码的增长,这些变量会让您的生活更加艰当你创建一个应用程序状态对象时,很清楚哪些组件使用它,可以控制对它的访问(例如调用方法而不是读取变量,这可以帮助调试)和组件也可以找出它是否是正确的时间在应用程序流程中开始行动.它也是随着时间的推移重构代码的好工具.>保留工作应用程序,使代码保持运行状态.理想情况下,这将由自动测试支持.考虑一下你需要重写很多.例如,如果您开始集成数据库组件,请执行此操作.只需一步即可将所有现有代码移至该位置.那么谁告诉你它还在运行?使用git可以更好地撤消和测试内容.这比选择合适的库更重要.保留工作应用程序也始终是关键点,因为这就是你改变它的原因,对吧? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |