The PHP Extension and Application Repository, or PEAR, is a repository of PHP software code. Stig S. Bakken founded the PEAR project in 1999 to promote the re-use of code that performs common functions. The project seeks to provide a structured library of code, maintain a system for distributing code and for managing code packages, and promote a standard coding style. Though community-driven, the PEAR project has a PEAR Group which serves as the governing body and takes care of administrative tasks. Each PEAR code package comprises an independent project under the PEAR umbrella. It has its own development team, versioning-control and documentation.
A PEAR package is distributed as a gzipped tar file. Each archive consists of source code written in PHP, . Many PEAR packages can readily be used by developers as ordinary third party code via simple include statements in PHP. More elegantly, the PEAR package manager which comes with PHP by default may be used to install PEAR packages so that the extra functionality provided by the package appears as an integrated part of the PHP installation. Unlike the Comprehensive Perl Archive Network (CPAN) archives, , PEAR packages do not have implicit dependencies so that a package's placement in the PEAR package tree does not relate to code dependencies. Rather, PEAR packages must explicitly declare all dependencies on other PEAR packages.
The PEAR base classes contain code for simulating object-oriented destructors and consistent error-handling. Packages exist for many basic PHP functions including authentication, caching, database access, encryption, configuration, HTML, web services and XML.
PEAR package manager
The PEAR package manager provides a standardized way to install, uninstall, or upgrade with new PEAR packages or PECL extensions. Before installing a package it can also be instructed to take care of package dependencies so all the extra needed packages are installed too.
The PEAR package manager is run from the command line using the
pear command. Usually it is therefore only the server administrator who can alter the installed base of PEAR and PECL extensions. On PHP installations running on Linux, the PEAR package manager is ready for usage by default, but on Windows the PEAR package manager is only available after running a batch file called
PECR (PHP Extension Community Repository, citation needed]) is conceptually very similar to PEAR, and indeed PECR modules are installed with the PEAR Package Manager. PECR contains C extensions for compiling into PHP. As C programs, PECR extensions run more efficiently than PEAR packages. PECR includes modules for XML-parsing, access to additional databases, mail-parsing, embedding Perl or Python in PHP scripts and for compiling PHP scripts. PECR spun off from the PEAR Project in October 2003. [
PECR extensions are documented alongside standard extensions within the PHP Manual, so there is no special manual for PECR extensions. Also, several[examples needed] extensions began their development cycle in PECR and ended up in core (the distributed PHP source) and in many[examples needed] of these cases the PECR versions become unmaintained.