Почему в 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, когда пишут в ООП стиле создают экземпляр объекта?


Ответы (0 шт):