我正在用PHP编写一个网站,其目的是允许用户输入一些月度数据,这些数据存储在MySQL中,用户可以随时查看与数据相关的统计数据。我完成了所有的基础知识,但是我的代码完全不可读,它是一大堆if语句,没有明显的结构,即使注释它也相当不透明。我应该如何优雅地构建代码,以何种方式利用PHP的OOP功能。
答案 0 :(得分:1)
我建议您阅读代码内聚和松散耦合,如果您要构建优秀,可维护的应用程序,那么这些是您需要熟悉的重要概念。
你还应该了解设计模式和常见的使用案例,如果不是全部的话 - 至少是大型的,IMO:单身人士,工厂,DI和IoC(你会看到全面的)。
一旦你有了理论思考,你应该开始以一种标准的方式编写代码,对于PHP来说就是MVC - 你可以使用一个框架,无论哪个都没关系,一旦你我已经学会了一个框架 - 阅读很多其他项目代码将非常容易,因为它通常遵循相同的模式,其中一些代表比其他代码更好。
祝你好运!答案 1 :(得分:1)
您需要一个框架来构建代码。幸运的是,许多人已经解决了这个问题。 CodeIgniter,Cake,Zend,Kohana,Symfony,Yii,Slim,Laravel,Fuel,这个名单还在继续。
我强烈建议您查看CodeIgniter作为您的第一个PHP框架。文档和社区都是首屈一指的。
答案 2 :(得分:1)
嗯..我只能告诉你我一般做什么,不是说它是'最好'的方式,还是有更透明的工作流程......只是它对我很有用;)
首先,最重要的是: 摆脱你的php中的所有非PHP代码,对于html显示使用模板要么自己制作模板系统,要么得到一个现成的(例如,聪明)。
尝试识别您经常使用的结构(如sql conenction和access)并将它们放入类文件中(如果需要,您可以通过编辑一个文件轻松更改您的SQL系统,而不是无数其他文件) 现在找到重复的代码流(大多数是相同的if-else-structures等) 并为它们创建函数,用所述函数替换原始代码。 甚至可以为属于某个任务的函数创建更多的类。
所以你最终得到了一个用于db的类,一个用于用户信息和编辑,一个用于添加,编辑和删除信息,一个用于html输出(甚至可能更多)
现在相应地设置你的文件系统(将类文件放入子文件夹,将模板放入另一个文件系统,将相同的图像,javascripts等放入其中)
下一步:查找所有“设置” 可能需要更改的所有预定义值,并将它们放入设置文件(例如init.php)中,甚至可以作为类构造。
作为最后一部分,清理单个phps中的所有混乱,你无法进一步减少。 第一:所有设置,包括您需要的文件(类)设置定义此脚本所需的常量等。 第二:所有脚本函数按字母顺序或逻辑顺序排列。 并且最后是代码流。
就是这样(很多工作......)但是你最终会得到一个我觉得容易维护的结构。如果你需要编辑一个设置,而不是在init.php中,你想要更改一些数据库结构或更改了你的数据库,那么你只需要更新你的sql.php等。 / p>
如果其他人也必须维护代码,你很可能也必须正确评论每个文件,我个人也会自己使用评论,因为我有一些脚本需要在五或之后更改或更多年,这样我仍然知道在哪里;)
祝你好运!答案 3 :(得分:0)
您可以使用某种PHP框架,如Yii,Zend,Symfony或Kohana。 MVC分离将是你的好朋友。