PEAR
最后更新于:2022-04-01 14:55:11
## PEAR 介绍
[PEAR](http://pear.php.net/) 是另一个常用的依赖包管理器, 它跟 Composer 很类似,但是也有一些显著的区别。
PEAR 需要扩展包有专属的结构, 开发者在开发扩展包的时候要提前考虑为 PEAR 定制, 否则后面将无法使用 PEAR.
PEAR 安装扩展包的时候, 是全局安装的, 意味着一旦安装了某个扩展包, 同一台服务器上的所有项目都能用上, 当然, 好处是当多个项目共同使用同一个扩展包的同一个版本, 坏处是如果你需要使用不同版本的话, 就会产生冲突.
### 如何安装 PEAR
你可以通过下载 `.phar` 文件来安装 PEAR. [官方文档安装部分](http://pear.php.net/manual/en/installation.getting.php) 里面有不同系统中安装 PEAR 的详细信息.
如果你是使用 Linux, 你可以尝试找下系统应用管理器, 举个栗子, Debian 和 Ubuntu 有个 `php-pear` 的 apt 安装包.
### 如何安装扩展包
如果扩展包是在 [PEAR packages list](http://pear.php.net/packages.php) 这个列表里面的, 你可以使用以下命令安装:
~~~
pear install foo
~~~
如果扩展包是托管到别的渠道上, 你需要 发现 (discover) 渠道先, 请见文档 [使用渠道](http://pear.php.net/manual/en/guide.users.commandline.channels.php).
* [Learn about PEAR](http://pear.php.net/)
### 使用 Composer 来安装 PEAR 扩展包
如果你正在使用 [Composer](http://laravel-china.github.io/#composer_and_packagist), 并且你想使用一些 PEAR 的代码, 你可以通过 Composer 来安装 PEAR 扩展包.
下面是从 pear2.php.net 安装代码依赖的示例:
~~~
{
"repositories": [
{
"type": "pear",
"url": "http://pear2.php.net"
}
],
"require": {
"pear-pear2/PEAR2_Text_Markdown": "*",
"pear-pear2/PEAR2_HTTP_Request": "*"
}
}
~~~
第一部分 `"repositories"` 是让 Composer 从哪个渠道去获取扩展包, 然后, `"repositories"` 部分使用下面的命名规范:
> pear-channel/Package
前缀 “pear” 是为了避免冲突写死的.
成功安装扩展包以后, 代码会放到项目的 vendor 文件夹中, 并且可以通过加载 Composer 的自动加载器进行加载:
> vendor/pear-pear2.php.net/PEAR2_HTTP_Request/pear2/HTTP/Request.php
在代码里面可以这样使用:
~~~
<?php
$request = new pear2\HTTP\Request();
~~~
* [学习更多 PEAR 和 Composer 的使用](http://getcomposer.org/doc/05-repositories.md#pear)