编写php库的指南?

时间:2010-05-07 23:03:11

标签: php

我研究过设计模式,并希望使用它们来编写开源库(而不是应用程序)。

但我从来没有编写过一个库,也不知道我应该在哪里包含文件,我应该有一个加载所有内容的引导程序文件,还是应该每个类加载它们依赖的类等等。

是否有任何教程可以在php中从头开始写芬兰语?

感谢

5 个答案:

答案 0 :(得分:4)

我不能指向你的教程,但是拥有即插即用库的最简单方法是每个类文件有一个类,这样用户可以选择使用__autoload并简单地实例化你的类而不必更改现有代码中的任何内容。大多数开发人员都可以使用这种方式。

此方法仍允许您创建一个包含所有其他类文件的“独立”包含文件。

其他选项包括将其制作成PEAR包或要求人们将您的文件放在包含路径中。但是,对于那些无法访问除自己的public_html文件夹之外的任何内容的人(例如,在共享主机上),这不是最佳选择。

答案 1 :(得分:2)

你应该看一下Solarphp Framework。它解决了所有其他框架一些标准问题,如自动加载,依赖注入等...我从中学到了很多关于编写好的PHP代码。如果您有问题,请加入freenode的#solar-talk

答案 2 :(得分:1)

我会指向Zend Framework。您可以将其用作整个框架,但也可以根据需要使用所选组件。是的,我认为对于图书馆来说,自动加载是关键。

答案 3 :(得分:1)

如果您的图书馆对字符串进行任何检查或操作,请考虑它们是否是字节的字符串或文本字符的字符串,如果是后者,只使用multibyte string函数,而不是普通的PHP字符串函数。否则,您的库将无法用于需要使用Unicode文本的人。

答案 4 :(得分:-1)

有许多PHP框架可用,它们可以帮助您构建库文件。 但是,我总是喜欢具有更多钩子函数和全局接受格式的MVC模型。以下几个例子......

# o     = Object
# r     = Return
# a     = Array
# e     = Element
# g = Global declaration
# hook  = a function which can be used for hooking with other functions
# call  = a function which can be used for making call from client to server system
# sync  = a function which can be used for SYNC