PHP:使用Pecl / Pear,还是构建自己的系统?

时间:2008-09-23 14:53:03

标签: php pear pecl

在构建我的一些PHP应用程序时,可以使用PEAR / PECL模块对许多功能进行编码,但是,有些人使用它可能无法安装东西,这对我来说是一个令人费解的事。

我是否应该放弃一些用户使用PEAR / PECL来实现功能,这使我能够比编写自己的功能更快地编写系统编码,但是它会排除某些人使用它。

9 个答案:

答案 0 :(得分:5)

通过使用pear库进行开发来节省开发时间,并提供捆绑在您所分发内容中的库(尽管您必须确保它遵守许可要求)

我不会依赖某些PECL扩展程序,除非你正在做一些特别与之相关的事情(例如XDebug网络前端或其他东西),大多数安装将带有相当普通的扩展。

答案 1 :(得分:5)

这在一定程度上取决于你有多少时间,以及项目的目的。如果您只想尝试制作有用的东西,请选择PEAR / PECL。如果你想学习成为一个更好的程序员,并且你有时间,那么我建议你努力编写自己的版本。一旦你理解了你要替换的内容,你可能想要切换到PEAR / PECL版本,这样你就不会浪费时间重新实现已经实现的内容......

...但另一方面,预先存在的工具并不总能完全满足您的需求,有时会产生对您没有任何好处的开销。这就是Unix命令行工具如此小而且目的狭窄的原因;除了现在可以做的事情之外,没有人真正需要能够做任何事情的'ls'版本。您的任何PEAR库的版本将由您编写,完全符合您的需要。需要仔细考虑一下......

......但是在握紧的手上,不要花太多时间思考它。花五分钟,做出决定,然后开始编码。即使你做出了错误的决定,你至少会得到更多的练习编码。 : - )

答案 2 :(得分:1)

我的建议是从假设PEAR / PECL模块开始,并完成剩下的代码。然后,一旦您的大部分代码按照您想要的方式工作,您就可以评估返回并逐个替换外部代码。此外,到那时,您将更好地了解使用这些对用户群的影响。

答案 3 :(得分:1)

最初使用PEAR / PECL进行编码,如果你让人们要求非PEAR / PECL版本,那么就开始编写你自己的替代品,然后再编译这样的版本。

最初的开发速度会快得多,你可能会发现,一旦你开始发布应用程序,没有人会关心要求第三方库。

答案 4 :(得分:1)

使用PEAR但允许在项目中包含PEAR包。所有PEAR包都可以从http://pear.php.net/单独下载,可以放在任何地方。根据便利性和许可问题,您可以将所有必需的PEAR文件打包到您的项目中,或告诉用户如何下载和“安装”它们。

答案 5 :(得分:0)

我最常做的是我永远不会在服务器上全局安装PEAR。版本可以更改并影响您的应用程序。相反,我有一个配置文件(在我的例子中是XML),列出了所需的所有软件包及其版本。安装程序连接到我的个人FTP存储库,并在$ PROJECTBASE / lib / pear /中本地下载并安装所有PEAR包。并且PEAR在本地而不是全局运行。你可能想要考虑的事情。

答案 6 :(得分:0)

使用PEAR没有问题,如果用户没有对其网络服务器的root访问权限,他们只需从pear.php.net下载PHP文件并将其添加到其包含路径即可。 PECL的解决方法有点棘手,因为没有root权限就无法安装新模块。

答案 7 :(得分:0)

你需要注意,因为梨中的许多模块真的质量很差。

有些是伟大的,不要误解我的意思,但不要以为梨中的任何东西都是在梨中,任何给定的质量。这意味着你需要在决定使用它之前至少浏览梨模块的源代码,这对于简单的任务来说可能比没有梨的时候花费更多的时间。

然而,pecl是不同的。扩展程序往往更好地经过审查和测试,否则它们会崩溃。

答案 8 :(得分:0)

重申已经说过的大部分内容:http://www.codinghorror.com/blog/archives/001145.html