Read Online
+ Collection

The PEAR Installer Manifesto

Gregory Beaver

The PEAR Installer maintainer shows you the power of this code management and deployment system to revolutionize your PHP application development
RRP $0.00
RRP $44.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781904811190
Paperback296 pages

About This Book

  • Learn how to effectively organize your application development from the creator of the latest versions of the PEAR Installer, version 1.4.0 onwards
  • Bring the power of versioning and rollbacks to your live website
  • Embed the PEAR Installer in your web applications to manage plug-ins from a remote server

Who This Book Is For

The book is not just for PHP developers who want to understand how the PEAR Installer works, and what it can do for them, but more generally for PHP developers seeking a better way to deploy their applications and manage updates. It does assume that you have a good working knowledge of PHP development, and are dealing with projects of a sufficient scale and complexity to warrant an investment in a structure process.

Table of Contents

Chapter 1: Acquiring PEAR: What is it and How do I Get It?
A Democratic Innovation for PHP: PEAR Channels
What is PEAR? A Code Repository or an Installer?
Installing the PEAR Installer
Synchronizing to a Server with no Shell Access Using PEAR_RemoteInstaller
Chapter 2: Mastering PHP Software Management with the PEAR Installer
Distributing Libraries and Applications
Using Versioning and Dependencies to Help Track and Eliminate Bugs
Distribution and Upgrades for the End User
An Overview of package.xml Structure
Tags Shared between package.xml 1.0 and 2.0
New Tags in package.xml
File/Directory Attributes: name, role, and baseinstalldir
Chapter 3: Leveraging Full Application Support with the PEAR Installer
package.xml Version 2.0: Your Sexy New Friend
PEAR Channels: A Revolution in PHP Installation
Application Support
Bundling Several Packages into a Single Archive
Backwards Compatibility: Using package.xml 1.0 and 2.0
Why Support Old and Crusty package.xml 1.0?
Case Study: The PEAR Package
Creating a Package for Installation with the PEAR Installer
Chapter 4: Clever Website Coordination Using the PEAR Installer
Overview of the Problem
Understanding the Problem
The Solution, Part I: All-Important Source Control
The Solution, Part II: Using the PEAR Installer to Update the Website
Chapter 5: Releasing to the World: PEAR Channels
Distributing a package.xml-Based Package
Distributing Packages through a Channel Server
Distributing Pay-For-Use PHP Applications through a Channel
Distributing Packages through Static tarballs for Single-Client Installations
Security Issues Inherent in Remote Installation
Chapter 6: Embedding the PEAR Installer: Designing a Custom Plug-In System
Why Embed PEAR?
Other Plug-In Systems
Designing a Custom PEAR Channel-Based Plug-In System

What You Will Learn

  • What the PEAR Installer is, and what it can do for you
  • Organizing your code into packages using the package.xml format
  • Customizing individual installations of your PHP applications through file roles, file tasks, and post-installation scripts
  • Using the PEAR installer to bring the power of versioning and rollbacks to your live website
  • Getting the PEAR Installer and source control repository working together
  • Setting up your own PEAR Channel for distributing your PHP applications
  • Embedding the PEAR Installer inside your own web application to manage plug-ins from a remote server

In Detail

PEAR stands for PHP Extension and Application Repository, and its primary purpose is to support code re-use. PEAR provides both an advanced installer and a code repository at PEAR code is organized into discrete re-usable components called packages. A package consists of a group of files and a descriptor file called package.xml that contains metadata about the package's contents, such as the package version, any special dependencies, and textual information such as the package description and authors.
The software that transforms a package from an inert grouping of files into a dynamic software package is called the PEAR Installer and is itself a PEAR package. In other words, the PEAR Installer can be used to upgrade itself. It truly is a very powerful application.
In short, the PEAR Installer is one of the most effective tools for managing a high-quality software library, high-quality applications, or high-quality websites.

This book will show you a new way of organizing your PHP development, by leveraging the full power of the PEAR Installer. In a sense, the PEAR Installer is a step above a software design pattern, a meta-development pattern that can be used to systematically organize all of your PHP development.
You will learn how to organize your code into packages using the package.xml format. You will learn about the revolutionary new PEAR Channel concept, and how to safely and reliably depend on external PHP libraries from sources such as and other PEAR channels. You will learn about the PEAR_PackageFileManager package, and how to customize individual installations of your PHP code through file roles, file tasks, and post-installation scripts.

In addition, you will learn how to use the power of PEAR to manage your web projects with the PEAR installer to bring the power of versioning and rollbacks to your live website.  The synergy of the PEAR Installer and a revision control system like CVS or Subversion is also explored in depth.
Next, you will learn how to set up your own PEAR Channel for distributing PHP applications, both open-source and proprietary closed-source PHP applications that can be secured using technology already built into the PEAR Installer.

Finally, you will learn how to embed the PEAR Installer inside your own web application in order to manage plug-ins from a remote server. The book covers in detail designing a custom plug-in system for a fictitious blog application. The plug-in system is used to manage templates, and the PEAR Installer is used to manage the details of querying the remote server for templates, handling dependencies between versioning, and doing the actual installation process as well.


Read More