2010-04-24 132 views
1

有很多编码MVC Web应用程序的框架。编码php库的框架?

这次我要用一堆类文件编码一个库(想一想Doctrine或Solr)。你只需包含一个引导程序或一个类文件,你就可以使用我的类了。

我从来没有试过编写一个库,并打算编写一个用于学习的目的,以便我可以使用我学到的各种设计模式。

是否有任何伟大的框架,我应该如何组织不同的类文件,我可以把配置文件等?

教程或其他信息也会很好。

感谢

更新:它只是一般,没有一些具体的事情。即时通讯想知道是否有一个“模式”就像Web应用程序(MVC):它应该是一个文件,他包括和该文件将包括所有其他类文件?它应该是他包含的类文件还是所谓的引导文件?总之,我需要知道如何编码一个库,以便每个开发人员都可以使用它的开源方式。

+0

有关您的图书馆功能的更多信息将对asjie有所帮助。 – BenTheDesigner 2010-04-24 19:37:50

+0

我更新了我的文章。 – 2010-04-24 19:41:38

回答

2

图书馆代码涵盖了很多不同的领域,很难想象图书馆发展的一般框架。

一般来说,你应该努力创造一个库,(除其他事项外):

  • 一致 - 磁带库的API应该尽量保持一致。例如:你是否将标准参数列表传递给构造函数,或者是一个包含名称/值对的$ config数组?如果您偏爱工厂方法,请在整个库中一致地实施它们。

  • 高效 - 避免加载不需要的类。弄清楚如何管理依赖关系 - 不要只从一些中央引导脚本加载每个类。考虑一下PEAR或Zend Framework使用的目录结构。这可以帮助您与用户可能已经使用的各种自动加载器集成。

  • 可测试 - 一个包含好测试的库比没有测试更有价值。

  • 记录 - 使用PHPDocumentor获得舒适感,并准备编写额外的文档,这些文档在示例客户端代码上很重要。

+0

有关于如何创建一个库的好教程? – 2010-04-25 17:53:29

2

没有通用的库框架。如果您正在开发其他软件,您会找到插件API或类似的插件。在这种情况下,使用它们。否则,就图书馆应该如何工作没有任何假设,因此除了编程语言外,没有任何框架可以用来存放它。

尽管包含所有其他基本文件,但所有库都有引导程序。其他类和文件可能通过注册的自动加载器加载。