1. Go to this page and download the library: Download tobento/service-booting library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tobento / service-booting example snippets
use Tobento\Service\Booting\Booter;
use Tobento\Service\Booting\BooterInterface;
use Tobento\Service\Booting\AutowiringBootFactory;
use Tobento\Service\Container\Container;
// Any PSR-11 container
$container = new Container();
$booter = new Booter(
bootFactory: new AutowiringBootFactory($container),
name: 'app',
bootMethods: ['register', 'boot'],
terminateMethods: ['terminate'],
);
var_dump($booter instanceof BooterInterface);
// bool(true)
$booter->register(new ConfigBoot());
// You may set a priority for the boot:
$booter->register(DebugBoot::class, priority: 2000);
$booter->register(
HttpBoot::class,
RoutingBoot::class,
);
// calls the boot methods:
$booter->boot();
// calls the terminate methods
$booter->terminate();
use Tobento\Service\Booting\BootRegistry;
$boot = $booter->get(MyBoot::class);
var_dump($boot instanceof BootRegistry);
// bool(true)
use Tobento\Service\Booting\BootInterface;
$boot = $booter->getBoot(MyBoot::class);
var_dump($boot instanceof BootInterface);
// bool(true)
use Tobento\Service\Booting\BootRegistry;
$boots = $booter->getBoots();
foreach($boots as $boot) {
var_dump($boot instanceof BootRegistry);
// bool(true)
}
$booted = $booter->getBooted();
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
//
}
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
public function boot(): void
{
// Do something
}
public function terminate(): void
{
// Do something
}
}
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
public const BOOT = [
AnotherBoot::class,
];
public function boot(AnotherBoot $boot): void
{
// Do something
}
}
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
public const PRIORITY = 2000;
}
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
public const REBOOTABLE = ['terminate'];
}
use Tobento\Service\Booting\Boot;
class MyBoot extends Boot
{
public const INFO = [
'boot' => 'Some description what the boot method does.',
'terminate' => 'Some description what the terminate method does.',
];
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.