Наследование в MySQLi

636
.
Итак, прошу помощи у людей, которые поумней меня будут. Потому что я реально в тупике.

Я унаследовал класс mysqli и теперь кручу им как хочу
class someclass extends \mysqli
{
   public function query($sql, $resultmode = NULL)
   {
       if(\mysqli::real_query(self::$last_sql))
        return new SQLResult($this);
       else {}
   }
}

class SQLResult extends \mysqli_result
{
}
Собственно вместо mysqli_result я унаследовал опять свой класс SQLResult, и это хорошо работает
Но вот проблема нарисовалась с mysqli_stmt, я там не могу выкинуть такой же трюк, хотя по докам он возвращает именно mysqli_result
class SQLsmtp extends \mysqli_stmt
{
    public function get_result()
    {
       return new SQLResult($this);
    }
}
Я могу вернуть родительский метод parent::get_result(), который возвращает mysqli_result, но мне нужен именно мой, унаследованный.
.
(\/)____o_O____(\/)
Добавлено: 26.02.2021 / 05:54
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.
Покажи полный код. 

Добавлено: 26.02.2021 / 06:05
Мешанина там, какой то старый класс видать, когда ещё дрочили на статику. Все проблемы от этого, там и $this и self
.
Hey guys! Finally I'm gonna change status!?
# Koenig (26.02.2021 / 06:05)
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.
Oh no! Базы MySQL тоже выпилят?
Не вводи людей в заблуждение
.
(\/)____o_O____(\/)
kantry, само расширение, как когда то обычный мускул
.
Koenig, Я в первый раз слышу что mysqli будут выпиливать. Это основной драйвер mysql. И если мне не нужно ничего кроме mysql, то mysqli умеет больше pdo.
.
# Koenig (26.02.2021 / 06:05)
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.

там и $this и self
Я конечно лет так много как завязал, но разве не:
Self дотянется до родительского класса, а this только до текущего обьекта?
Кстати, чисто любопытство, кто и откуда мускули хочет выпиливать? И главное за чем?
.
(\/)____o_O____(\/)
Ну разрабы обсуждают, стримы не смотрите?
.
(\/)____o_O____(\/)
ramzes, Ну так о чем и речь, self отдаст родительский, а не переопределённый
.
Там не мешанина, а строгая логика.
self::$last_sql
- это кусок моей обработки ошибок, и мне не надо чтоб обработка ошибок зависела от конкретного экземпляра класса и подключения. Плюс там еще счетчик запросов, и он считает  все запросы, так же не завися от подключения, если их несколько.
.
# Koenig (26.02.2021 / 18:15)
Ну разрабы обсуждают, стримы не смотрите?
Да это бред выпиливать mysqli, в ней фишки, которых нет в PDO. PDO сделано чтоб ты вообще не парился, какая у тебя БД, все будет работать одинаково. Но если ты используешь именно mysql, и именно из-за ее особенностей, то лучше выбирать mysqli. Единственное что нормально использовать mysqli можно если ты напишешь свою обертку.
Всего: 12