What is the most effective arrangement for dispersing a PHP application?
What is an advised arrangement in regards to resource control, builds, testing, bug monitoring, and also release for a downloadable PHP application (a la Wordpress, phpBB, Magento, etc)? As a programmer working with the application, what would certainly you anticipate? What around as a customer of the application? Please define an arrangement and also operations, along with any kind of sources you assume could be pertinent or handy.
I've located the adhering to strategy to be practical for the application I keep :
- The application is dispersed as a solitary zip, that simply needs to be unzipped on a functioning PHP web server.
- Browsing to the application instantly runs a set of peace of mind checks (PHP setting, application arrangement). Mistakes clarify in straightforward terms just how to deal with any kind of concern that emerge.
- In the beginning run, if the peace of mind checks pass, an arrangement wizard is released. This is impaired as quickly as a setups submit exists.
- All consumer alterations are carried out in an unique subfolder of the application, that they can replicate over from old installs (in reverse compatibility is kept for this folder). Having the ability to do upgrades by unzipping documents and also replicating around a couple of folders is a valuable attribute.
- The zip documents itself is constructed with a command - line PHP manuscript that is explored the resource database. Doing a construct is as straightforward as svn upgrade adhered to by a phone call to build.php.
- Programmer builds are made similarly as release builds, just with a " - no - optimize" flag passed to the construct manuscript to stop minification and also concatenation.
- The reality that the construct manuscript is itself PHP suggests that any kind of programmer can make adjustments to just how the builds are made, without also needing to log right into our construct web server.
From the programmer perspective I would certainly favor 2 means:
- Getting the resources from SVN/ GIT
- Downloading a packaged Version
But as a customer I would certainly favor a download plan (*. zip and also *. tar.gz).
There need to be
- readme.txt (or pdf or html)
- install.txt (or pdf or html)
- A trial configuration documents with a documents of all parameter
If you install the software program there shoul be an installer.php, which examines the needs and also does the configuration job.
Regarding I bear in mind the roundcube webmailer had among the most effective installer I recognize.