To create a singleton, make the constructor private, disable cloning, disable extension and create a static variable to house the instance
final class President {
private static $instance;
private function __construct() {
// Hide the constructor
}
public static function getInstance() : President {