PEAR在现实世界中有多常见?

pat*_*ney 8 php pear frameworks

我看过很多其他人的源代码和其他开源PHP软件,但在我看来,几乎没有人真正使用PEAR.

PEAR在现实世界中的使用有多常见?

我在想,也许当前对框架的感觉可能会影响它的受欢迎程度.

Ken*_*ric 10

PHP程序员文化似乎有一种猖獗的"Not Invented Here"综合症,每个人似乎都希望自己重新发明轮子.

并不是说这适用于所有 PHP程序员,但他们这样做显然太正常了.

很多时候我认为这是由于缺乏教育,加上托管服务提供商提供体面的PHP服务的困难.

这使得可行的PEAR安装变得更加困难,并且由于PHP的设计结构不利于模块化设计而使其恶化.

(这可能会随着命名空间的增加而改善,但还没有看到).

我在野外看到的绝大多数PHP代码仍然是用HTML插入的经典业余代码,而PHP用户不可避免地注册的大多数便宜主机并不能为您提供shell访问权限.


Tom*_*Tom 6

在我的(有限)经验中,每个可能有趣的PEAR项目都有重点反对它:

  • 代码针对最广泛的受众.整个地方都有黑客可以处理旧的/不支持的PHP版本.如果无法在旧版本上模拟它们,则会忽略新的有用功能,这意味着您最终落后于核心语言开发.
  • 任何给定的项目都会增长,直到用一个简单的方法解决每个人的问题include.当您的PHP解释器必须在每个页面命中时处理所有源代码(因为作者可能没有将其设计为对操作码缓存友好),处理数千个未使用的代码行有可测量的开销.
  • 风格总是不一致的.从来没有像我在其他语言中那样学习泛化API.

我曾经PEAR::DB在工作中使用过.我们发现大多数脚本都花在PEAR代码中而不是我们自己的代码中.pgsql_*由于使用了真实的预处理语句,使用非常简单的函数包装器替换它可以显着减少执行时间并提高运行时安全性. PEAR::DB为Postgres使用了自己的(当时不正确的)预处理语句逻辑,因为本机pgsql_函数太新了,无法在任何地方使用.

总的来说,在许多情况下,我觉得PEAR很适合作为"入门图书馆".它可能是比任何个人在短时间内产生的更高质量的代码.但我肯定不会在一个受欢迎的面向公众的网站上使用它(至少,不是没有经过大量的手工调整......维护我自己的分支).