Before diving in, let's take a look at other possibilities for bundling plug-ins. There are three models currently employed by major PHP applications:
Bundling plug-ins directly in the source code
Using PEAR dependencies for subpackages
Customized remote plug-in servers
By far, the most common solution employed in the PHP world is bundling plug-ins directly in the source code. This method, as explored in previous chapters results in code that can be simpler to create, but is far more difficult to maintain, and particularly to upgrade, often resulting in out-of-date code. As recent security vulnerabilities in popular programs demonstrate, keeping code up-to-date and bug-free is not just important for minor annoyances; it can make the difference between a secure and an insecure application.
Although it is the most common choice, bundling plug-ins directly in the source code is just not a very flexible idea, and so we won't explore...