PLUG 5 is currently in development.
The original PLUG framework for PHP 4 is concidered obsolete, and no longer maintained.
PLUG 5 is a complete, ground-up rewrite and will be publicly available soon.
What is it?
PLUG is a web application development framework for PHP created and maintained by
Tim Whitlock. The original version of PLUG emerged in 2004
and was for for PHP 4 only. Initially it was an attempt to organize and standardize a code library, but the emphasis soon shifted from
class writing to
workflow,
deployment, and
optimisation.
What does PLUG stand for?
PLUG stands for "
PHP Library Unification Gateway". This blatantly contrived acronym was designed to hint at the
drop-in nature of its components, but this no longer reflects its main purpose or goals. As is often the case with these things,
the name has stuck, so that is the end of that.
What does it do?
PLUG is not just another class library. It is perhaps just another framework, but one with specific goals.
Of course the framework does include a class library, but this is not what makes it special.
It's primary concern is
staging and
deployment, and how improving these practices
can aid
workflow and
optimisation.
PLUG impresses a basic paradigm that you have a single development environment which is your
source, (in the truest sense of the word).
When you deploy your application to a target host it is regarded as an uneditable instance, and not a mere duplication.
This is how software should be deployed, but as PHP is not a
compiled language this paradim is not explicit, and so rerely adhered to.
PLUG forces this approach through a specific staging setup, and pseudo compiling process in deployment.
As such it imposes a distinct separation between source code and deployed code. As soon as we have this separation we have exciting new opportunities
to improve application development:
- Optimize and/or accelerate deployed applications without compromising maintainability of source code;
- Add development-only code into the source environment that is not required on deployment hosts;
- Manage all your host configs locally and compile them directly into deployed applications;
- Compile include files directly into top-level code;
- Avoid potential confusion and the risks in having duplicate source code in multiple locations.
PLUG 4 is obsolete
, but the following pages from the original project may still be relevant in general.