售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
The PEAR Installer Manifesto
Table of Contents
The PEAR Installer Manifesto
Credits
About the Author
About the Reviewers
Preface
What This Book Covers
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
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?
PEAR Package Repository and PEAR Channel
PEAR Installer
Installing the PEAR Installer
PEAR Bundled with PHP
Installation for PHP Versions Older than 5.1.0
Other Unofficial Sources
Synchronizing to a Server with no Shell Access Using PEAR_RemoteInstaller
Summary
2. Mastering PHP Software Management with the PEAR Installer
Distributing Libraries and Applications
Differences between Libraries and Applications from the Installer's Point of View
Using Versioning and Dependencies to Help Track and Eliminate Bugs
Versioning
PEAR Packaging and Strict Version Validation
Enterprise-Level Dependency Management
Distribution and Upgrades for the End User
An Overview of package.xml Structure
Tags Shared between package.xml 1.0 and 2.0
Package Metadata
Package Name/Channel
Maintainers (Authors)
Package Description and Summary
Basic Release Metadata
Package Version
Package Stability
External Dependencies
Simplifying XML Validation of package.xml
Managing Trust of Dependencies
Reliably Depending on PECL Packages
Release Notes
Release License
Changelog
File List, or Contents of the Package
New Tags in package.xml
File/Directory Attributes: name, role, and baseinstalldir
Summary
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
Introduction to Custom File Roles
Creating PEAR_Installer_Role_Chiaramdb2schema Custom Role
Full Range of Possible Custom File Roles
Introduction to Custom File Tasks
Creating the PEAR_Task_Chiara_Managedb Custom Task
The Full Range of Possible Custom File Tasks
validXml($pkg, $xml, &$config, $fileXml)
init($xml, $fileAttributes, $lastVersion)
startSession($pkg, $contents, $dest)
run($tasks)
Post-Installation Scripts for Ultimate Customization
Components of a Post-Install Script
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
PEAR_PackageFileManager
Obtaining PEAR_PackageFileManager
PEAR_PackageFileManager Script and the package.xml Files it Generates
How PEAR_PackageFileManager Makes a Hard Life Easy
Globbing Files for package.xml
Managing Changelog
Synchronizing package.xml Version 1.0 and package.xml Version 2.0
Creating a Package for Installation with the PEAR Installer
Summary
4. Clever Website Coordination Using the PEAR Installer
Overview of the Problem
Understanding the Problem
Managing Code Breakage and Reverting to Previous Versions
Managing Missing or Extraneous Files
Coordinating Development with a Team of Developers
Backing Up Code: Redundancy as a Necessary Precaution
The Solution, Part I: All-Important Source Control
Providing Redundancy and Revision History
Installing CVS or Subversion
Concurrent Versions System
Setting Up a CVS Repository
Subversion
Setting Up a Subversion Repository
Intelligent Source Control
Maintaining Branches for Complex Versioning Support
Using Tags to Mark Point Releases
The Solution, Part II: Using the PEAR Installer to Update the Website
Generating package.xml from the Source Control Checkout
Packaging: Coordinating Release Versions with Tags and Branches
Testing the Release before Uploading
Upgrading the Live Server
Using the pear upgrade Command
The Real Beauty of Using Pear to Fix Problems
Summary
5. Releasing to the World: PEAR Channels
Distributing a package.xml-Based Package
Distributing Packages through a Channel Server
The channel.xml File
channel.xml Tag Summary
Obtaining Chiara_PEAR_Server
Configuring the Server; Obtaining a Front End for End Users
Adding a Package and Releasing Packages
Installing a Public Channel Front End
Distributing Pay-For-Use PHP Applications through a Channel
Distributing Packages through Static tarballs for Single-Client Installations
Who Needs this Feature?
Differences in package.xml and Dependencies
Releasing Equals Uploading
Security Issues Inherent in Remote Installation
How do PEAR Installer and Chiara_PEAR_Server Provide Security?
Extra Security beyond what PEAR Provides
Specific Security Principles Applied in Designing the PEAR Installer and Chiara_PEAR_Server
Summary
6. Embedding the PEAR Installer: Designing a Custom Plug-In System
Why Embed PEAR?
Simplify User Choices for Installation
Eliminate Chances for Error
Other Plug-In Systems
Bundling Plug-Ins Directly in the Source Code
Subpackages - PEAR Dependencies
Case Study: MDB2
Custom Plug-In Systems: Remote Server
Case Study: Serendipity Blog's Spartacus Plug-In Manager
Case Study: Seagull Framework's Embedded PEAR Installer
Designing a Custom PEAR Channel-Based Plug-In System
Reusing Existing Functionality
PEAR Installer Infrastructure: REST and PEAR Installer Classes
PEAR_Config
PEAR_Dependency2
PEAR_REST and PEAR_REST_10/PEAR_REST_11
PEAR_Downloader and PEAR_Downloader_Package
PEAR_Installer
Extending REST with Custom Information
Designing a Lightweight Installer Plug-In: The Code At Last
MyBlog_Template_IConfig and MyBlog_Template_Config
MyBlog_Template_REST
MyBlog_Template_Lister
MyBlog_Template_Fetcher
The MyBlog Post-Install Script
The Rest of the Fake MyBlog Package
Improvements for the Ambitious
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜