2013-02-10 86 views
-4

我正在用PHP编写一个网站,目的是允许用户输入一些月度数据,这些数据存储在MySQL中,并且用户可以随时查看统计数据。我已经完成了所有的基础知识,但是我的代码完全不可读,它是大量的if语句,没有明显的结构,即使它的注释非常不透明。我应该如何优雅地构造我的代码,以及如何利用PHP的OOP功能。PHP构造技术

+1

这个问题是广泛的答复。获取一本书并阅读OOP的含义,尝试理解概念,然后尝试一下。如果您遇到任何特定问题,请回来。 – Niko 2013-02-10 09:43:21

回答

1

嗯..我只能告诉你我一般做,而不是是否是“最好”的办法或者有更透明的工作流程...只是,它为我的作品非常好;)

第一事情和最重要的: 摆脱您的PHP中的所有非php代码,为html显示使用模板或者自己制作一个模板系统或获得一个现成的(例如smarty)。

尝试确定您经常使用的结构(如sql conenction和access)并将它们放入类文件中(如果需要,可以通过编辑一个文件而不是其他数量的文件来轻松更改您的sql系统) 现在找到重复的代码流(主要是相同的if-else结构等) 并为它们创建函数以用所述函数替换原始代码。 甚至可能为属于某个任务的函数创建更多的类。

所以,你最终与一类为DB,一个用于用户信息和编辑,一个添加,编辑和删除信息,一个用于HTML输出(甚至更多)

现在设置你的文件系统(将类文件放到子文件夹中,模板放在另一个文件夹中,模板放在另一个文件夹中,图像相同,javascripts等)

下一页:查找所有“设置” 所有预定义值可能需要更改,到一个设置文件(例如init.php)甚至可能是一个类构造。

作为最后一部分,清理单个phps内的所有混乱,你不能进一步减少。 第一:所有的设置,包括你需要的文件(类)设置定义你将需要这个脚本的常量等。 第二:所有脚本功能按字母或逻辑顺序。 并保存代码流。

就是这样(很多工作......)但是你最终会得到一个我觉得易于维护的结构。如果你需要编辑一个设置,而不是在init.php中,你想要改变一些数据库结构或者改变你的数据库,那么你只需要更新你的sql.php等等。

如果其他人也必须维护代码,那么您很可能也必须正确评论每个文件,因为我个人也使用自己的评论,因为我有一些脚本需要在五或更多年,这样我仍然知道什么去哪里;)

祝你好运!

0

您可以使用某种PHP框架,如Yii,Zend,Symfony或Kohana。 MVC分离将是你的好朋友。

1

我推荐阅读代码内聚和松散耦合,如果您要构建优秀的可维护应用程序,则需要熟悉这些重要概念。

如果不是所有的设计模式和常见使用案例 - 至少是IMO:singletons,工厂,DI和IoC(您会看到全面的),那么您还应该追上设计模式和常见使用案例。

一旦你有了理想的思维,你应该开始以一种indsutry标准的方式编写你的代码,对于PHP来说是MVC--你可以使用一个框架,无论哪一个都不重要,一次你已经学习了一个框架 - 阅读其他项目的代码很容易,因为它通常遵循相同的模式,其中一些代码比其他代码写得更好。

祝你好运!

1

你需要一个框架来构造你的代码。幸运的是,这个问题已经被许多人解决了。 CodeIgniter,Cake,Zend,Kohana,Symfony,Yii,Slim,Laravel,Fuel等等。

我强烈建议您查看CodeIgniter作为您的第一个PHP框架。文档和社区都是首屈一指的。