Stirling-Microservice
, (*1)
A PHP microservice named after the super famous inventor of the stirling engine., (*2)
It is not very effective, but its moving!, (*3)
The main script to do everything is, (*4)
./bin/go
To see a list of arguments:, (*5)
./bin/go help
To execute all tests:, (*6)
./bin/go test
Usage
Add this library as a composer dependency and require the composer
autoloader. In your index.php simply put:, (*7)
Router::init();
Router::run();
This will start the Router. If you want to add routes place this
in between the init and run:, (*8)
Router::add('info', function () {
phpinfo();
});
This would add the php info page under http://<location>/info, (*9)
Config
You can define global config parameters by adding a file called default.json into a resources folder on your path root
(where your index.php file should be)., (*10)
To access your config parameters use the Config class., (*11)
Example
default.json content (placed in root folder):, (*12)
{
"foo": "bar"
}
Calling, (*13)
use Stirling\Core\Config;
$config = Config::instance();
echo $config->foo
will output "bar", (*14)
You can pass another file name as a string into the static instance
method of Config if you want to use another config json file., (*15)
Status
Under http://<location>/status you can take a look at the app status. It aggregates
registered status functions., (*16)
!important! By default the complete config will be exposed in the status page.
So it is generally advised to password protect the status page in production.
To do so just add a maintenanceUser and maintenancePassword with corresponding values
in the config json. This will add basic authentication to internal maintenance pages., (*17)
To register a new status:, (*18)
$status = AppStatus::instance();
$status->registerStatus("status 1", "Descriptive message for this status", function () {
return true;
});