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 http://pear.php.net. 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 pear.php.net 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.
PEAR Installer is the preferred PHP software for installing PHP components. It can be used to easily ensure that the most powerful and up to date php software is installed and working on your server. This book reveals the full power of the PEAR Installer, presenting a new way of organizing your PHP application development and deployment.
This book is a comprehensive and well structured tutorial on using PEAR Installer, but it is also much more than that. As the creator of the latest versions of the PEAR Installer (1.4.0+), the author is passionate about the benefits of a well managed development and deployment process.
The book shows how the PEAR Installer works in detail, and then takes you through a comprehensive tour of how you can apply it all stages of the development lifecycle, with practical examples and advice throughout. It will build your technical skills and understanding, and also widen your perspective on managing an effective development process.
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.