Почему в PHP, когда пишут в ООП стиле создают экземпляр объекта?
Как я сейчас делаю. Создаю файл MySQL.php (опустим пространства имен, папку где создаю, композер и т.д.)
<?php
class MySQL
{
// Подключение к БД.
static function connectToBase()
{
// Тут код подключения.
return $mysqli;
}
// Выполнение mySQL запроса.
static function mySQLQuery($query)
{
$mysqli = self::connectToBase();
// Тут код выполнения запроса.
}
}
Далее в индексе, через который идет подключение всех страниц (вроде называют это роутер, контроллер), подключаю этот файл. Теперь в любом файле моего проекта мне достаточно просто вызвать
$sqlResult=MySQL::mySQLQuery('INSERT INTO table_name VALUES value');
Так как методы в классе MySQL статические, мне не нужно создавать экземпляр класса. Мне не нужно контролировать чтобы он был один (синглтон), не нужно заботиться о возможной утечке памяти (ну а вдруг? что то же создали, а так нет экземпляра нечему и "течь").
Тем не менее мне говорят, что я пишу не в ООП стиле. И по непонятной мне причине, я должен создавать экземпляры классов. Также мне говорят, что я постоянно подключаюсь к БД.
Почему в PHP, когда пишут в ООП стиле создают экземпляр объекта?