composer require okapi/singleton
<?php
use Okapi\Singleton\Singleton;
class GovernmentOfUSA
{
// Add the singleton trait
use Singleton;
/**
* Function to register the singleton.
*
* This function and the "initialized" methods are completely optional.
*
* Can be static or non-static.
*/
public static function register(): void
{
// Get instance
$instance = self::getInstance();
// For non-static just use $this
// Make sure the instance is only registered once
$instance->ensureNotInitialized();
// Do something
// ...
// Mark the instance as initialized
$instance->setInitialized();
}
/**
* Custom function
*/
public function takeOverTheWorld(): void
{
// Make sure the instance is initialized
$this->ensureInitialized();
// Do something
// ...
}
}
// Other file
// Register the singleton
GovernmentOfUSA::register();
// Take over the world
$instance = GovernmentOfUSA::getInstance();
$instance->takeOverTheWorld();
// or
GovernmentOfUSA::getInstance()->takeOverTheWorld();
- Run
composer run-script test
or - Run
composer run-script test-coverage
Give a ⭐ if this project helped you!
Copyright © 2023 Valentin Wotschel.
This project is MIT licensed.