Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php库编写指南?_Php - Fatal编程技术网

php库编写指南?

php库编写指南?,php,Php,我已经研究了设计模式,并想用它们来编写一个开源库(而不是应用程序) 但我以前从未编写过库,也不知道应该在哪里包含文件,应该有一个加载所有内容的引导文件,还是每个类都加载它们所依赖的类,等等 从一开始到芬兰语,有没有用php编写库的教程 谢谢我无法为您提供教程,但拥有即插即用库的最简单方法是为每个类文件创建一个类,这样用户就可以选择使用“自动加载”并简单地实例化您的类,而无需更改其现有代码中的任何内容。大多数开发人员最容易使用这种方法 此方法仍然允许您创建一个包含所有其他类文件的“独立”包含文件

我已经研究了设计模式,并想用它们来编写一个开源库(而不是应用程序)

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

从一开始到芬兰语,有没有用php编写库的教程


谢谢

我无法为您提供教程,但拥有即插即用库的最简单方法是为每个类文件创建一个类,这样用户就可以选择使用“自动加载”并简单地实例化您的类,而无需更改其现有代码中的任何内容。大多数开发人员最容易使用这种方法

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


其他选项包括将其放入PEAR包中,或要求人们将您的文件放置在包含路径中。然而,在我看来,对于那些除了自己的公共html文件夹(例如,在共享主机上)之外没有其他访问权限的人来说,这并不是最佳选择。

我想让你看看Zend Framework。您可以将其作为一个整体框架使用,但也可以根据需要使用选定的组件。是的,我认为对于库来说,自动加载是关键。

如果库对字符串进行任何检查或操作,请考虑它们是字节字符串还是文本字符字符串,如果是后者,请仅使用带有它们的函数,而不是普通的PHP字符串函数。否则,需要使用Unicode文本的用户将无法使用您的库。

您应该查看。它像其他框架一样解决了一些标准问题,如自动加载、依赖注入等。。。从中我学到了很多关于编写好php代码的知识。如果您有任何疑问,请加入freenode上的#solar talk

,这里有很多可用的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 #o=对象 #r=返回 #a=数组 #e=元素 #g=全球宣言 #hook=可用于与其他函数挂钩的函数 #call=可用于从客户端向服务器系统进行调用的函数 #sync=可用于同步的函数
我想你指的是PEAR,不是PERL。这不是一个很好的答案,而是一个一般性的建议:从其他开源库开始是一个不错的起点。如果你找到一个有声望的项目,你很可能会有一个好的例子来建立你的开源库。祝你好运