图书馆创作策略

时间:2012-07-13 19:48:07

标签: php oop structure

我花了大约11个月的时间为PHP编写了一个非常广泛的HTML5就绪视频部署库。我的客户正在付钱给我写这个库,以换取使用它的实现的许可,我目前也正在编写​​。我基本上保留了一个巨大的 PHP文件(此时为60Kb),其中包含我所有的面向对象的类。我构建的系统需要在每个页面上的这个文件中,我想这将是不受欢迎的。不要误解我的意思,在PHP方面我不是新手。我已经编写PHP大约两年了,并且使用了几乎所有最先进的函数。但是,我仍然希望改进,我相信我的创作策略对我来说是一个弱点。

我喜欢jQuery的创作简单性。它使编写可重用的代码比PHP更容易,至少对我而言。我一直在广泛使用jQuery阅读this document后,我对那些被认为是“最佳实践”的方法感到很满意。任何人都可以回忆一下处理PHP的类似资源吗?

我的目的是学习编写PHP的更好实践,而不会失去低级别的能力并跳转到另一个像CodeIgniter这样的库。我根本不喜欢基于另一个库编写库的想法;我想我的系统会留下更大的空间并使用更多的资源。

1 个答案:

答案 0 :(得分:3)

首先,您无法将库与语言进行比较。苹果和橘子。不幸的是,在PHP方面,没有单一的终极知识来源。我只能建议一些我认为非常有用的阅读材料。

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

另外,如果您想通过示例学习,请查看这些我认为编写得非常好的开源PHP库,只要遵循以下最佳实践:

如果您有资源,我强烈建议您分解该大文件:将每个类放入其自己的单独文件中。使用单元测试覆盖库,以确保您的代码符合其意图。

修改

@lsmith在Twitter上发布了一个名为PHP: The Right Way的网站。这可能是您可以获得有关最佳实践的单个文档的最接近的文档。