你知道一本关于构建代码的好书/网站(PHP / Web编程)吗?

时间:2010-07-30 15:47:11

标签: php design-patterns

我主要使用PHP,我已经使用它编码了一段时间。 PHP的主要问题是我认为随着程序变大,维护代码变得更加困难(可能适用于其他事情)。我想减少维护/修改代码的复杂性。我想制作模块化的东西,并有规则何时开始一个新类或只是附加到现有的类(例如)。我知道那里有框架(CakePHP,Symfony,Rails)但是如果我只想使用我的PHP并使用我自己的风格和现有风格的混合来实现良好的代码管理呢?

6 个答案:

答案 0 :(得分:4)

这不仅仅与php有关,这一般适用于编码。框架只会帮助您组织混乱,但如果您不熟悉编程,框架将只组织您的混乱代码。

除了承担计算机科学本科(我建议你认真对待编码)时,要记住的一些基本想法是使你的代码模块化。

例如,这是一个简单的例子来证明这一点。如果您有一个生成包含财务数据的html表的站点。

(以下是一些如何编写此代码的方案......)

  1. 你打开一个新的屏幕,financialdata.php,你从第1行到第N行编码从数据源(也许是数据库)获取财务数据所需的代码然后迭代财务 用于构造html表的数据。

  2. 你打开一个新的屏幕,financialData2.php,你在顶部编写一个函数,从yuor数据源中提取数据并返回一个包含这些项的对象(可能是数组)。您获取此返回值并在此financialData2.php页面上生成表。

  3. 您打开另一个新屏幕financialData3.php,您从financialData2.php获取数据库功能并使用它从yoru源获取您的财务数据。您编写另一个函数来生成基于作为参数传入的一些参数的html表。最后,在您显示的financialData3.php页面中,执行以下操作,您的页面现在有一个包含数据源财务数据的表格。

  4. 这里的教训:代码越模块化越多越好。您现在拥有一个可以获取数据的数据库函数,并且您有一个函数可以根据传入的项列表呈现表。

    您现在可以创建另一个页面并以不同方式使用这些函数,也许您的数据源函数具有表格和选择条件等参数。这样,您可以使用相同的数据函数根据条件从不同的表中获取数据。您现在拥有非常基本的数据抽象。 (不要让抽象吓到你了解)。抽象只不过是对事物的简化。在这种情况下,我们已经抽象出了我们如何获取数据的细节,并让我们的函数getData处理这些细节。

    请评论/提问,我们可以进一步讨论,但老实说,我不认为一本书或网站可以通过课堂讨论和实践练习,像CSE中的BS一样教授编程实践。

答案 1 :(得分:2)

学习设计模式:

还有助于提高代码质量:

关于框架的旁注: 虽然框架通常会告诉您如何布局代码和文件夹以及内容,但它们很少告诉您如何正确编码。框架提供了常见问题的解决方案,这很酷,但是如果您尝试超越框架已经提供的功能,那么您将再次独立。这是因为框架是具体实现,而您想要了解设计原则。

答案 2 :(得分:1)

这是关于一般的代码(如果我没记错的话,它使用Java / C / .Net作为示例),但是Code Complete是我读过的关于通用代码结构的最好的书。它涵盖了一切,从坚果和如何编写和组织程序结构的变量和方法的螺栓。我不确定这些示例对PHP有多适用,但可能值得一看。

答案 3 :(得分:0)

http://www.nettuts.com

您希望了解的有关PHP和Web开发的所有内容。

答案 4 :(得分:0)

http://www.amazon.ca/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

解释了很多设计模式。但不是在PHP中。有助于理解有用的设计模式。通过购买来支持作者。

答案 5 :(得分:0)