【问题标题】:Writing Clean and Efficient PHP Code编写干净高效的 PHP 代码
【发布时间】:2009-06-24 15:07:13
【问题描述】:

我一直在网上四处寻找,但似乎找不到一篇关于此的文章并不完全过时。有没有人有什么好的文章可以提供一些好的建议?到目前为止我读到的内容很好,而且有点帮助,但我想要现代代码示例,而不是 2002 年的示例。

我编写了一个广泛的 PHP/MySQL 程序,现在我正在努力让它变得更好,有什么建议吗?

编辑: 人们在建议框架,我很感激,但我正在寻找原始 PHP 编码的编码技巧。整个应用程序已经完成,在一个框架中重新编码整个东西会很长。 不过,我会为未来的项目检查这些。有没有人知道或有任何关于编写干净高效的 PHP 代码的技巧?

【问题讨论】:

    标签: php performance


    【解决方案1】:

    使用Smarty

    尽可能多地写入模式。

    编辑问题编辑

    简洁高效的 PHP 与任何其他语言没有太大区别。练习良好的面向对象原则。专注于封装、分离和多态性。经常重构,并尽可能多地利用设计模式。

    有很多网站都关注这些原则。有的用Java、C++等来演示原理,不过转成php应该不难。

    【讨论】:

      【解决方案2】:

      我会看看Zend Framework。这是一个很棒的框架,它鼓励 PHP 开发人员使用更好的实践,如 MVC、OOP 等。如果你不习惯这种范式,我不得不说它一开始会让人望而生畏,但如果想继续你的 PHP 开发,我'd 建议下载它,然后开始“入门”教程。

      您可以下载其他框架和 CMS 工具,但 Zend 框架提供了非常原始的方法来构建出色的 PHP 应用程序。

      橡子

      【讨论】:

        【解决方案3】:

        PHP Classes 帮助了我很多(当我编写 PHP 时)。阅读更好的代码通常有助于改进我自己的代码。

        【讨论】:

          【解决方案4】:

          如果您还没有,我建议让您的 PHP 代码面向对象。它促进了重用并使代码更具可读性。这是一个link,展示了它在减少代码行等方面的用处。

          【讨论】:

            【解决方案5】:

            使用 CakePHP。这是一个优秀的 MVC 框架。陡峭的学习曲线,尤其是如果您以前没有使用过 MVC,但这种权衡肯定是值得的。

            【讨论】:

              【解决方案6】:

              正如人们所说,框架是最好地组织代码的方式。许多支持模型/视图/控制器;许多已经是面向对象的。尝试坚持使用特定于 PHP5 的框架(代码会更简洁;PHP4 不完全支持 OOP)。尝试使用最简单的模板引擎。我喜欢但尚未推荐的一个 PHP5 框架称为QCubed

              不过,您帖子中的一件事让我担心 - 您是说您已经编写了应用程序,现在正努力使其“更好”。如果是这样的话,现在尝试切换到一个框架可能是一项巨大的(字面意思是巨大的)任务。如果这是一个您希望生产 3 到 5 年的应用程序,我会考虑冒险;然后我会尝试提取应用程序的一小部分并将它们集成到该框架环境中。做批发是痛苦的秘诀。

              【讨论】:

              • 这正是我寻找 PHP 编码技术而不是每个人都建议的框架的原因。
              【解决方案7】:

              对于干净的 PHP 代码,您可以使用 PHP CodeSniffer(在 http://pear.php.net 上搜索 CodeSniffer,因为直接链接不起作用)它是一个自动代码样式检查器。您可以定义自己的代码样式规则,然后检查代码。

              您甚至可以编写脚本,以便在 SVN 提交之前检查您的代码。

              【讨论】:

              • 我已经更改了链接,也许他们检查了referer?
              猜你喜欢
              • 2011-02-15
              • 2010-10-28
              • 1970-01-01
              • 2013-04-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多