Difference between revisions of "PEAR"

From Freephile Wiki
Jump to navigation Jump to search
m (added Category:PHP using HotCat)
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
PEAR (http://pear.php.net/) is the PHP Extension and Add-on Repository.
 
PEAR (http://pear.php.net/) is the PHP Extension and Add-on Repository.
  
It's a glue framework, meaning it contains independent packages that can be chosen and "glued" together in your application to meet your requirements.  Since PEAR dates back to the origins of [[PHP]], it is oftentimes an underlying requirement for basic PHP functionality which other developers build upon.  For a hypothetical example, you could have a [[Drupal]] module developer use an underlying PEAR package for critical functionality at the system level, while the module proper deals with application integration and extension of Drupal capabilities.
+
It's a glue framework, meaning it contains independent packages that can be chosen and "glued" together in your application to meet your requirements.  Since PEAR dates back to the origins of PHP, it is oftentimes an underlying requirement for basic PHP functionality which other developers build upon.  For a hypothetical example, you could have a Drupal module developer use an underlying PEAR package for critical functionality at the system level, while the module proper deals with application integration and extension of Drupal capabilities.
  
 
PEAR is also a packaging and code distribution system using a command-line application (think apt-get).  There is actually a web front-end available too for managing PEAR packages.  See http://blog.jldupont.com/2008/03/pear-web-installer.html for more on that.
 
PEAR is also a packaging and code distribution system using a command-line application (think apt-get).  There is actually a web front-end available too for managing PEAR packages.  See http://blog.jldupont.com/2008/03/pear-web-installer.html for more on that.
Line 7: Line 7:
 
Notable PEAR developers:
 
Notable PEAR developers:
  
* Brion Vibber (CTO of MediaWiki Foundation)
+
* Brion Vibber (CTO of MediaWiki Foundation) is now a PEAR developer http://leuksman.com/log/
* Jean-Lou Dupont  
+
* Jean-Lou Dupont http://blog.jldupont.com/2008/03/pear-web-installer.html (his mediawiki extensions are at http://code.google.com/p/mediawiki/ - although he is not actively developing for MediaWiki)
 
* Gregory Beaver
 
* Gregory Beaver
  
== PEAR in 2016 ==
+
<source lang="bash">
Is PEAR still relevant? In the age of GitHub and [[Composer]], if you listen to chatter on the Internet, it's easy to think that PEAR is a moribund project that is also irrelevant. But it is actually alive and kicking.  Sadly, I don't think that the trends will reverse. Still, you need to know about PEAR because there are many cases where a PEAR class is underlying your application or hosting platform. [https://stackoverflow.com/questions/20804004/installing-php-pear-packages-via-ansible-with-idempotency How to install PEAR with idempotency in Ansible]<ref>In my tests the 'and' trick for failed_when did not work because the new 2.x module does not have .stdout.  There is only msg https://github.com/ansible/ansible-modules-extras/blob/devel/packaging/language/pear.py</ref>
+
# update your pear installation
 +
sudo pear upgrade pear
 +
# add Jean-lou Dupont's channel
 +
sudo pear channel-discover mediawiki.googlecode.com/svn
 +
# install the web front-end
 +
sudo pear install PEAR_Frontend_WEB
 +
# which fails because it's 'beta' and our package preference is set to 'stable'
 +
# therefore install it specifically
 +
sudo pear install channel://pear.php.net/PEAR_Frontend_WEB-0.7.4
 +
</source>
  
 
[[Category:PHP]]
 
[[Category:PHP]]

Revision as of 09:31, 9 September 2016

PEAR (http://pear.php.net/) is the PHP Extension and Add-on Repository.

It's a glue framework, meaning it contains independent packages that can be chosen and "glued" together in your application to meet your requirements. Since PEAR dates back to the origins of PHP, it is oftentimes an underlying requirement for basic PHP functionality which other developers build upon. For a hypothetical example, you could have a Drupal module developer use an underlying PEAR package for critical functionality at the system level, while the module proper deals with application integration and extension of Drupal capabilities.

PEAR is also a packaging and code distribution system using a command-line application (think apt-get). There is actually a web front-end available too for managing PEAR packages. See http://blog.jldupont.com/2008/03/pear-web-installer.html for more on that.

Notable PEAR developers:

# update your pear installation
sudo pear upgrade pear
# add Jean-lou Dupont's channel
sudo pear channel-discover mediawiki.googlecode.com/svn
# install the web front-end
sudo pear install PEAR_Frontend_WEB
# which fails because it's 'beta' and our package preference is set to 'stable'
# therefore install it specifically
sudo pear install channel://pear.php.net/PEAR_Frontend_WEB-0.7.4