使用PHP进行开发时,从显示页面中删除代码的好方法是什么.我工作的页面通常需要由外部人员编辑.这个人经常被许多PHP块弄糊涂,也喜欢破坏我的代码.
我已经尝试将代码块移动到函数中,所以现在整个HTML中都有各种函数.随着一些页面变得越来越复杂,它再次成为一个程序,并且处理POST是有问题的.
我在PHP开发中可以做得更好吗?
您不需要"系统"来进行模板化.您可以通过保持演示和逻辑分离来自己完成.这样设计师可以搞砸显示器,而不是它背后的逻辑.
这是一个简单的例子:
现在这里是people.php文件(你给你的设计师):
Person: =$name?>
看看一些流行的PHP框架如何使用模板.示例包括cakePHP,Zend Framework和Code Igniter.即使您不打算将您的网站建立在这些框架上,模板设计模式也是保持PHP代码远离Web设计人员的好方法,因此他们可以专注于布局而不是功能.
在我看来,您通常需要在整个应用程序中开始实施所谓的“关注点分离”。人们针对您对页面编辑器破坏您的代码的特定抱怨而给出的模板示例很重要,但仅代表了这种策略的一个示例。随着您的程序越来越大,越来越复杂,即使您的设计人员没有破坏代码,也很难对其进行修改和调试。
如设计模式“模型-视图-控制器”(MVC)中所述,最常见的分离可能是数据,逻辑和表示之间的三种方式分离。您不需要适当的MVC框架即可实现相同的基本原理。这个想法只是将封装处理数据(模型)的代码封装在一个地方,将呈现数据给用户(视图)的代码封装在一个地方。您可以将该代码与仅与在正确的时间(控制器)向正确的用户提供正确的数据的代码相关联。
从您的描述看来,您现在好像是一个事务脚本模式,在该模式中,您已在浏览器中加载了一个php文件“ dothis.php”,并且所有函数定义和用于显示的HTML都在一起。您已经具有函数,因此您已经开始封装逻辑部分。
与本文有关模板的其他答案保持一致,我将采用的方法是将所有HTML删除到另一个文件中,而这些文件仅引用简单的PHP变量并可能引用一些循环(但要尽可能少地进行条件切换)。这将使模板更易于阅读且更难破解。当页面编辑器想要修改布局时,请给他们那个文件。
然后,您将所有数据访问功能都分离到另一个文件中,理想情况下创建一个类(或几个类,具体取决于数据的复杂程度和需要重用的频率)。
此时,您的“ dothis.php”已被简化为一些配置代码(可以将其分离为一个include和一些身份验证代码(可以将其分离为自己的类),并且仅调用数据访问功能,并调用包含的模板文件,因此控制器本身得到了极大的简化,并且易于管理。