我看过很多其他人的源代码和其他开源 PHP 软件,但在我看来,几乎没有人真正使用 PEAR。
PEAR 在现实世界中的使用有多普遍?
我在想,也许目前对框架的感觉可能会影响它的受欢迎程度。
我看过很多其他人的源代码和其他开源 PHP 软件,但在我看来,几乎没有人真正使用 PEAR。
PEAR 在现实世界中的使用有多普遍?
我在想,也许目前对框架的感觉可能会影响它的受欢迎程度。
PHP 程序员文化似乎盛行“非在这里发明”综合症,每个人似乎都想自己重新发明轮子。
并不是说这适用于所有PHP 程序员,但他们这样做显然太正常了。
很多时候我认为这是由于缺乏教育,再加上托管服务提供商难以提供像样的 PHP 服务。
这使得获得一个可行的 PEAR 安装变得更加困难,并且由于 PHP 的设计结构不利于模块化设计而恶化。
(这可能会随着命名空间的添加而改善,但还没有看到)。
我在野外看到的绝大多数 PHP 代码仍然是用 HTML 插值的经典业余代码,而且 PHP 用户不可避免地注册的大多数廉价托管都不会为您提供 shell 访问权限。
在我(有限的)经验中,每个可能有趣的 PEAR 项目都有反对它的主要观点:
include
. 当您的 PHP 解释器必须在每个页面命中时处理所有源代码时(因为作者可能没有将其设计为对操作码缓存友好),处理数千行未使用的代码会产生可测量的开销。我以前PEAR::DB
在工作中使用。我们发现我们的大部分脚本都花时间在 PEAR 代码中,而不是我们自己的代码中。pgsql_*
由于使用了真正的准备好的语句 ,用一个非常简单的函数包装器替换它显着减少了执行时间并提高了运行时安全性。PEAR::DB
为 Postgres 使用了自己的(当时不正确的)prepared-statement 逻辑,因为本机pgsql_
函数太新而无法在任何地方使用。
总的来说,我觉得 PEAR 在很多情况下都可以作为一个“入门库”。它可能是比任何人在短时间内生成的质量更高的代码。但我肯定不会在一个流行的面向公众的网站中使用它(至少,在没有大量手动调整的情况下……维护我自己的分叉)。
我认为 PEAR 是一个很好的项目,但缺少想要工作并继续工作的人,大多数包的编码实践不一致(我不是指编码风格),而且整个事情中有很多 TODO。
我发现它有时对编码我不知道的东西很有用,比如自定义国家验证函数等等,否则我最好使用任何可用的框架(比如 CodeIgnite 或 Zend 框架)。
Pear 库是那种坐在那里的东西,没有任何荣耀。如果您正在寻找它可以做的事情,并且在您使用的框架中没有更具体的目标 - 去使用它。
在过去的两年里,我一直在一个约会网站上工作——我使用过至少 65 个梨源文件,并且今天仍然存在。有些,如寻呼机或 html_Quickform 将在更新时被新代码取代,但对于其他人来说,没有必要。
PEAR 不常见,也不流行。
我多次尝试使用 PEAR,但它缺乏提交的 umphh。
我更喜欢 Zend Framework,它采用“松散”类型的方法,只使用你想要的。
PEAR 不常见,也不受欢迎——但它很好,我会推荐给任何人。
(我确实同意 Tom 的观点,因为它感觉不像是一个单一的、统一的 API;但是,这是 PHP ......人们不希望看到它现在作为一种解释性的hack语言超越它的地位吗?! )