Ion*_*Ion 9 html css php sql model-view-controller
我一直在开发一个可视化某些数据的程序.我的程序从MySQL数据库获取特定输入并绘制一些图形(libchart库),创建一些表等.
我的问题是,现在它的代码地狱.我有大约7个PHP文件(索引,图形页面,图库等)与HTML/CSS和PHP/SQL代码一起(其中一些只有PHP扩展但内部只有HTML).我暂时没有问题阅读和理解该项目,但我想如果有人试图,他可能会头疼.此外,继续这样的编程是不切实际的,因为该项目未来可能不容易扩展.
您对如何从PHP/SQL成功分离HTML/CSS有任何建议吗?我不想使用框架,因为我没有做任何需要用户输入,会话处理等的事情.我只是运行一些查询并可视化结果.我主要在这里谈论建筑,如果适用,也许是一个脚本来帮助我(我读过Smarty但是我不确定这是否是我需要的).
hak*_*kre 22
您对如何从PHP/SQL成功分离HTML/CSS有任何建议吗?
恭喜您了解如何改进代码.这是前提条件,你需要改进它,主题很冗长.所以你的意志至关重要.
我轻轻地开始,然后尝试给出一些提示.由于您缺少经验,请先寻找一点,最重要的是下面列表的最后一点.但首先要做的事情是:
要将某些东西彼此分开,您需要有一些分隔的代码:
[HTML/CSS/PHP/SQL]
[HTML/CSS] <--> [SEPARATOR] <--> [PHP/SQL]
Run Code Online (Sandbox Code Playgroud)
这里的Separator实际上也是PHP代码,但我认为你明白了.
正如您所看到的,只有Separator与HTML/CSS和PHP/SQL进行了对话.
所以HTML/CSS和PHP/SQL都需要有一个带有Separator的接口(它们之间的线)才能使它工作.
通常在程序中传递得到处理的数据.数据非常动态,并且可能具有复杂的复杂性,特别是如果您将数据传递给应该正确格式化的输出例程.
有多种方法可以写出这样的分隔符(或多个分隔符).您可以对软件进行分层,也可以提供在其区域或域中执行操作的组件.例如,您有一个数据库层或数据库组件,负责与数据库的交互.
或者你有一个模板引擎,它会将你的字符串和数组放入一些可读的HTML中.
简而言之,这是软件设计的面食理论:
就像我们在生活中吃不同的意大利面一样,在编程时我们也需要处理所有这些不同类型的代码,并且随着时间的推移我们开发自己喜欢的味道.作为一个孩子,我们是饲料,但随着时间的推移,我们开始做自己的东西,并改变食谱.
所以我认为这是一个很好的观点,你现在不想让MVC Framework X在接下来几周吃得太棒了,因为有人告诉你这是现在吃的方式.在吃之前,有品尝,对吧?更不用说快餐了,你知道这些面条酱包装 - 只加水.Urgh.
我不知道您的输出需要哪些数据以及输入是什么.以下是输出HTML/CSS并与MySQL数据库交互的应用程序的一些粗略的重构技巧.这可能不是一个完整的列表,描述只能粗略地概述一些想法:
style如果仍有一些属性,则替换任何属性.这使您的CSS代码可以重复使用并且更加模块化.它将帮助您找到HTML中的缺陷并将结构(HTML)与Presentation(CSS)分开.有效的HTML开始有效使用CSS,这两者非常强大,通常这已经会减轻你的程序输出例程.foreach子数组.这是一种创建模板的非常简单的技术.您可以使用PHP,因此您实际上非常灵活(只需绘制代码所属的边框到视图层,这是应用程序的一部分,例如为视图提供值).$component->getThatData()返回数据,然后以标准化形式返回数据.然后使这些组件使用专用数据库组件与数据库进行通信.在您的应用程序代码(业务逻辑)中,只使用数据库组件,最好是您创建的对象来获取数据,因此您在主代码中不再有任何SQL行.