The Sodapop framework consists of two parts:
Sodapop works well on PHP 5.3; earlier versions may require some now-standard extensions to be installed. Additionally, it is recommended that production environments have the PHP APC extension installed as it can be used to cache some system calls across requests and will make the framework faster.
Below are the detailed directions on how to install the framework.
Within each application's /www directory there is an index.php file. This file serves as the bootstrap for the framework. It is typically rather short. By default it contains:
There is also a config setting you can set to show PHP's error messages, but the commented lines can be uncommented to capture errors during the bootstrap.
Sodapop requires Apache's mod_rewrite module to be enabled in order to use its routing system, and the /www/.htaccess file is required to route requests into index.php. The default file is:
Of note is the line that starts with php_value include_path. The colon-separated list of directories contains the path to the Sodapop framework root, the application's models directory and the application's library directory, which is typically where 3rd party libraries are installed. The paths are relative to the location of .htaccess. Each of these must be present and correct for the framework to function properly.
The final required file in /www, mime.ini contains a list of file extensions and their associated MIME types. This file is rarely used and is simply a fallback in case PHP's fileinfo extension can't be found or can't be used to properly figure out a particular file's MIME type. Outside of exceptional circumstances it will not need to change.
Located in the application's /conf directory, the config file is required to exist but can be blank if nothing needs to be set. It is documented fully on the sodapop.json page.
Located in the application's /conf directory, the routes config file is required to exist but can be blank if nothing needs to be set. It is documented fully on the routes.json page.