Преимущества:
- Дуступ с любого места кода
- Нельзя перееопределить в отличии от переменной
<?php
class DB {
private static $instance;
public static function __callStatic($name, $args) {
if (!self::$instance) self::getInstance();
return call_user_func_array([self::$instance, $name], $args);
}
public static function getInstance() {
self::$instance = new PDO('mysql:host=127.0.0.1;dbname=gamerefactoring', 'root', '');
self::$instance->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
self::$instance->query('SET NAMES `utf8`');
}
}