PEAR库是php中很出名的类仓库,里面有很多php前辈们的心血积累。
现在的php版本发展很快,现代化的框架也都使用了名空间,但这不意味着老的库就不能使用 。我们难道不能在名空间下使用无名空间的类或者函数么? 当然不是,这个是心理问题。
如果你要的功能,已经有库实现了 但不是名空间化的 ,如果你是处女座(:))有强迫症, 非要改造为带名空间的么?
虽然PEAR库可用通过php命令行安装到php的指定目录(一般就在php.exe 所在目录的PEAR目 录里),比如通过命令:
pear install horde/Horde_SyncMl
这样 不用我们自己考虑类加载问题,因为php.ini 默认的配置是会搜索包含路径:
include_path=".;D:\Visual-AMP-x64\Bin\PHP\php-5.6.3-nts-Win32-VC11-x64\pear;
这样其实相当于全局安装( 类似composer 的 global install ),如果一个项目想独立依赖 一下PEAR中的库 这样就需要本地依赖.全局安装还有个缺点是 如果项目拷贝到生产环境, 忘记了全局依赖这回事 ,还要麻烦的去做全局安装。
下面介绍方法: composer.json 中做修改即可:
"repositories":[
{
"type": "pear",
"url": "http://pear.php.net"
},
{
"type": "pear",
"url": "http://pear.horde.org"
}
],
"require": {
"league/tactician": "^1.0"
, "pear-pear.php.net/PEAR": "*"
,"pear-pear.horde.org/Horde_SyncMl": "*"
},
可以看到 composer 实际上是支持PEAR库依赖管理的。
经过以上步骤后 其实还需要一个配置,默认的composer库安装都是https的 PEAR库的url 是http开头,所以还需要修改下配置:
"config":{"secure-http":false}
接下来 composer update 来下载你依赖的PEAR包吧 ^_^
本文由 yiqing 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。