2012-07-13 91 views
2

我约11个月为PHP编写了一个相当广泛的基于HTML5的视频部署库。我的客户正在付钱给我写这个图书馆,以换取使用该图书馆的许可证,我目前正在撰写该许可证。我一直在保持一个包含所有面向对象类的巨大的 PHP文件(此时为60Kb)。我建立的系统需要在每个页面上的这个文件中,我想这些文件会让人不悦。不要误会我的意思,在PHP中我不是新手。我已经写了大约两年的PHP,并且几乎使用了所有最先进的功能。然而,我仍然想要改进,我相信我的创作策略对我来说是一个弱点。图书馆创作策略

我喜欢jQuery的创作简单。它使得重写代码比PHP更容易,至少对我而言。在整个过程中,我一直广泛地使用jQuery。阅读this document对于被认为是“最佳实践”的方法,我感到非常满意。任何人都可以回想一下处理PHP的类似资源吗?

我的目的是学习一个更好的PHP编程习惯,而不会丢失低级别的能力并跳转到另一个类似CodeIgniter的库。我根本不喜欢基于另一个图书馆编写图书馆的想法;我会想象我的系统会留下更大的占地面积并使用更多的资源。

回答

3

首先,您无法将图书馆与语言进行比较。苹果和桔子。不幸的是,当涉及到PHP时,没有单一的终极知识源。我只能提出一些我发现很有用的阅读材料。

  • PHP-FIG - 一套由PHP框架协同工作组放在一起的标准(Github link);
  • autoloading - 摆脱所有那些include构造;
  • Composer - 跟踪项目和库的本地依赖关系的包管理器;
  • PHPUnit - PHP的单元测试框架;
  • phpDocumentor - 在您的评论中使用tags以清晰地记录代码的每个方面。我个人发现Fabien Potencier的Sami用于生成更适合的自动文档,但这只是个人偏好的问题;

另外,如果你想通过实例学习,看一看,我认为比较好远写成以下最佳实践这些开源PHP库云:

如果你有资源,我会强烈建议你打破这个大文件:把每个类放到它自己的单独文件中。用单元测试来覆盖这个库,以确保你的代码完成了它的意图。

编辑

@lsmith微博中分享了一个名为PHP: The Right Way网站。这可能是您最接近关于最佳做法的单个文档的最接近的方式。

+1

谢谢,这正是我所期待的。在我选择最佳答案之前,我会等待更多的答复,但是你已经有了一个好的答案。 – 2012-07-13 21:11:30