class DB
{
public $time;
public $count_sql_query = 0;
static private $instance;
public static function getInstance()
{
if(empty(self::$instance))
self::$instance = new self;
return self::$instance;
}
private function __construct()
{
//подключение
}
private function __clone(){}
private function __wakeup(){}
public function __destruct(){}
public function escape(){}
..и другие функции.
}
Во втором случае(взято у Ирбиса, простите, если что не так):
class DB
{
static $link;
public static function connect()
{
if(empty(self::$link))
{
self::$link = @mysqli_connect('localhost', 'root', '', 'test')
or die('No connect');
mysqli_set_charset(self::$link, 'utf8');
}
}
}
// Запускаем соединение
DB::connect();
/**
* Функция обработки литеральных констант для SQL
*/
function escapeString($data)
{
if(is_array($data))
$data = array_map("escapeString", $data);
else
$data = mysqli_real_escape_string(DB::$link, $data);
return $data;
}
function mysqlQuery($sql, $print = false)
{
$result = mysqli_query(DB::$link, $sql); return $result;
}
Так же мне кажется, что во втором случае я из-за недостатка опыта не увидела такую же реализацию синглтона, только более простую.
P.S. знаю, что
private function __clone(){}
private function __wakeup(){}
лично мне не пригодятся в проектах на начальном этапе, поэтому их можно убрать. скорее всего. так как это показывает только мою бездумную копипасту, а не понимание, что и зачем нужно. Или я не права?
Спасибо