-4

我正在用 PHP 编写一个网站,其目的是允许用户输入一些月度数据,这些数据存储在 MySQL 中,并且在任何时候用户都可以查看统计数据以处理那里的数据。我已经完成了所有基础知识,但是我的代码完全不可读,它是大量的 if 语句,没有明显的结构,即使带有注释,它也是相当不透明的。我应该如何优雅地构建我的代码,以及我应该以什么方式利用 PHP 的 OOP 特性。

4

4 回答 4

1

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

您还应该了解设计模式和常见用例,如果不是全部的话 - 至少是 IMO 中的大型案例:单例、工厂、DI 和 IoC(您可以全面了解这些)。

一旦你有了理论思考,你应该开始以一种行业标准的方式编写你的代码,对于 PHP 来说就是 MVC——你可以使用一个框架,只要你学会了一个框架 - 阅读大量其他项目的代码将非常容易,因为它通常遵循相同的模式,其中一些写得比其他更好。

祝你好运!

于 2013-02-10T09:53:11.410 回答
1

您需要一个框架来构建您的代码。幸运的是,这个问题已经被许多人解决了。CodeIgniter、Cake、Zend、Kohana、Symfony、Yii、Slim、Laravel、Fuel,不胜枚举。

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

于 2013-02-10T09:53:50.503 回答
1

嗯..我只能告诉你我通常做什么,而不是它是否是“最好”的方式或者是否有更透明的工作流程......只是它对我很有效;)

第一件事,也是最重要的:摆脱 php 中的所有非 php 代码,对于 html 显示使用模板,要么自己制作模板系统,要么得到一个现成的(例如聪明的)。

尝试识别您经常使用的结构(如 sql 连接和访问)并将它们放入类文件中(如果需要,您可以轻松更改 sql 系统,只需编辑一个文件,而不是无数其他文件)现在找到重复的代码流(大部分相同的 if-else-structures 等)并为它们创建函数以用所述函数替换原始代码。甚至可能为属于某个任务的函数创建更多类。

所以你最终会得到一个用于 db 的类,一个用于用户信息和编辑,一个用于添加、编辑和删除信息,还有一个用于 html 输出(甚至更多)

现在相应地设置您的文件系统(将类文件放入子文件夹,将模板放入另一个文件夹,对于图像,javascripts etc.pp 也是如此)

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

作为最后一部分,清理你无法进一步减少的单个 phps 中的所有混乱。首先:所有设置,包括您需要设置的文件(类)定义此脚本所需的常量等。其次:所有脚本功能按字母顺序或逻辑顺序。最后是代码流。

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

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

祝你好运!

于 2013-02-10T10:16:17.717 回答
0

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

于 2013-02-10T09:43:49.807 回答