PHP结构化技术

PHP结构化技术,php,optimization,Php,Optimization,我正在用PHP编写一个网站,其目的是允许用户输入一些月度数据,这些数据存储在MySQL中,用户可以随时查看与这些数据相关的统计数据。我已经完成了所有的基础工作,但是我的代码完全不可读,它是大量的if语句,没有明显的结构,即使有注释,也相当不透明。我应该如何优雅地构建我的代码,我应该以何种方式利用PHP的OOP功能。您可以使用某种PHP框架,如Yii、Zend、Symfony或Kohana。MVC分离将是您的好朋友。我建议您阅读有关代码内聚和松耦合的内容,如果您要构建出色的、可维护的应用程序,您需

我正在用PHP编写一个网站,其目的是允许用户输入一些月度数据,这些数据存储在MySQL中,用户可以随时查看与这些数据相关的统计数据。我已经完成了所有的基础工作,但是我的代码完全不可读,它是大量的if语句,没有明显的结构,即使有注释,也相当不透明。我应该如何优雅地构建我的代码,我应该以何种方式利用PHP的OOP功能。

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

我建议您阅读有关代码内聚和松耦合的内容,如果您要构建出色的、可维护的应用程序,您需要熟悉这些重要概念

您还应该了解设计模式和常见用例(如果不是所有的话)——至少是大型的,如IMO:单例、工厂、DI和IoC(您可以看到这些)

一旦你有了理论思维,你应该开始用一种独立的标准类型的方式来编写代码,对于PHP来说就是MVC——你可以使用一个框架,不管哪个框架真的不重要,一旦你学会了一个框架,阅读大量其他项目的代码将非常容易,因为它通常遵循相同的模式,有些编写得比其他好


祝你好运

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


我强烈建议您将其作为第一个PHP框架进行研究。文档和社区都是首屈一指的。。我只能告诉你我通常做什么,而不是它是否是“最好”的方式,或者是否有更透明的工作流。。。只是它对我很有效;)

首先,也是最重要的: 去掉php中的所有非php代码,对于html显示,请使用模板,或者自己制作一个模板系统,或者现成一个(例如smarty)

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

因此,您最终得到一个用于db的类,一个用于用户信息和编辑,一个用于添加、编辑和删除信息,一个用于html输出(甚至更多)

现在相应地设置您的文件系统(将类文件放入子文件夹中,将模板放入另一个文件夹中,图像、javascripts等也一样)

下一步:查找所有“设置” 所有可能需要更改的预定义值,并将其放入setingsfile(例如init.php)中,甚至可以作为类构造

作为最后一部分,清理单个PHP中所有无法进一步减少的混乱。 第一:所有的设置,包括你需要的文件(类),设置,定义这个脚本需要的常量等等。 第二:所有脚本都按字母顺序或逻辑顺序运行。 最后是代码流

就这样(做了很多工作…),但最终你会得到一个我觉得很容易维护的结构。如果您需要编辑一个设置,而不是init.php中的设置,您肯定想更改一些数据库结构或更改数据库,那么您只需要更新sql.php之类的内容

如果其他人也必须维护代码,您很可能也必须正确地注释每个文件,我个人也使用注释,因为我有一些脚本需要在五年或更长时间后更改,这样我仍然知道会发生什么;)


祝你好运

这个问题是可以回答的。找一本书,读懂OOP的含义,试着理解这个概念,然后尝试一下。如果你遇到任何具体问题,请回来。