|[ Team LiB ]|
What Is PEAR?
At its core, PEAR is a collection of useful, quality-controlled, open source packages that you can include in your projects. The aim of the quality control is not only to ensure that you can rely on the code, but also that packages are interoperable—that is, that they work well with one another. So, when you download one package to help with a project, it might work with any number of other PEAR packages. In the best traditions of object-oriented design, all PEAR packages are designed to be as flexible and extensible as possible.
PEAR is as much about design principles and quality control as it is about the packages themselves.
There are two other important aspects to the PEAR project. First are the repository and the accompanying Web site at http://pear.php.net (and various mirror sites). The site provides documentation for all packages, installation instructions, and much more. The server is the central location for packages. Rather than make the download of PHP bigger than it already is, all but a small core of the repository is placed online rather than in the distribution.
This brings us to another important aspect of PEAR. Rather than force you to download packages, unpack them, and install them in the right place, the pear command line tool is bundled with PHP as part of the base PEAR installation. It makes the installation process for individual packages a matter of a single command. What's more, the PEAR package manager handles dependencies for you. If a package you are installing requires another, pear tells you about it.
In short, you shouldn't have to do anything to get the PEAR base installation because it is bundled with PHP. As of version 4.3.0, this base installation has included the PEAR package manager, which we will be using in this chapter to install individual packages.
PEAR and Packages
PEAR packages are individual subprojects within the PEAR project. They are descriptively named, so the authentication package we will be looking at later this hour is called Auth. By installing Auth, you will be placing a directory called Auth containing a file called Auth.php in your include path. If you are using the PEAR package manager, you will not have to worry about the mechanics of this. After you have installed it, you will simply use a require_once() call in your scripts to use Auth classes, like so:
require_once( "Auth/Auth.php" );
Installing a Package
pear install Auth
And that should be that! In some cases, you will get a report of a failed dependency—that is, that your required package uses another PEAR package. So, if we were installing a package called Bibble, we might encounter the following error:
pear install Bibble downloading Bibble-1.0.3.tar ... ...done: 15,111 bytes requires package 'Bib_core' Bibble: Dependencies failed
pear install Bib_core
We should be ready now to work with some PEAR packages. Remember, you should stop by http://pear.php.net to look at all the packages and get an idea of what is available.
|[ Team LiB ]|