Итак, прошу помощи у людей, которые поумней меня будут. Потому что я реально в тупике.
Я унаследовал класс 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, но мне нужен именно мой, унаследованный.
Добавлено: 26.02.2021 / 05:54
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.
Покажи полный код.
Добавлено: 26.02.2021 / 06:05
Мешанина там, какой то старый класс видать, когда ещё дрочили на статику. Все проблемы от этого, там и $this и self
# Koenig (26.02.2021 / 06:05)
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.
Oh no! Базы MySQL тоже выпилят?
Не вводи людей в заблуждение
kantry, само расширение, как когда то обычный мускул
Koenig, Я в первый раз слышу что mysqli будут выпиливать. Это основной драйвер mysql. И если мне не нужно ничего кроме mysql, то mysqli умеет больше pdo.
# Koenig (26.02.2021 / 06:05)
Вопрос зачем тебе mysqli в 2021. Тут уже обсуждают его выпилить.
там и $this и self
Я конечно лет так много как завязал, но разве не:
Self дотянется до родительского класса, а this только до текущего обьекта?
Кстати, чисто любопытство, кто и откуда мускули хочет выпиливать? И главное за чем?
Ну разрабы обсуждают, стримы не смотрите?
ramzes, Ну так о чем и речь, self отдаст родительский, а не переопределённый
Там не мешанина, а строгая логика.
self::$last_sql
- это кусок моей обработки ошибок, и мне не надо чтоб обработка ошибок зависела от конкретного экземпляра класса и подключения. Плюс там еще счетчик запросов, и он считает все запросы, так же не завися от подключения, если их несколько.
# Koenig (26.02.2021 / 18:15)
Ну разрабы обсуждают, стримы не смотрите?
Да это бред выпиливать mysqli, в ней фишки, которых нет в PDO. PDO сделано чтоб ты вообще не парился, какая у тебя БД, все будет работать одинаково. Но если ты используешь именно mysql, и именно из-за ее особенностей, то лучше выбирать mysqli. Единственное что нормально использовать mysqli можно если ты напишешь свою обертку.