Size: a a a

2020 January 06

ВС

Владислав Субботин in phpGeeks
Den Den
а можно ссылку?
источник

VM

Vladimir Makarov in phpGeeks
Подскажите, почему при передачи в конструктор объекта родителя - он передается по ссылке?
источник

VM

Vladimir Makarov in phpGeeks
Разобрался. Переменная класса two содержит только идентификатор объекта (не ссылку)
https://www.php.net/manual/ru/language.oop5.references.php
источник

РД

Ратмир Диронин in phpGeeks
Vladimir Makarov
Подскажите, почему при передачи в конструктор объекта родителя - он передается по ссылке?
Т.к. у тебя в класс two передаётся переменная $one, а пхп меняет всё на ходу т.к. у него везде объекты, а ссылки отдельно надо ставить
источник

r

release-tracker in phpGeeks
Вышла новая версия PHPUnit: testing framework:  7.5.19
источник

AG

Anton Gordeev in phpGeeks
Ратмир Диронин
Т.к. у тебя в класс two передаётся переменная $one, а пхп меняет всё на ходу т.к. у него везде объекты, а ссылки отдельно надо ставить
больше никому так не говори)
источник

VM

Vladimir Makarov in phpGeeks
Ратмир Диронин
Т.к. у тебя в класс two передаётся переменная $one, а пхп меняет всё на ходу т.к. у него везде объекты, а ссылки отдельно надо ставить
передается объект, а не переменная. Не пойму про какое "меняет все на ходу ты говоришь"
источник

РД

Ратмир Диронин in phpGeeks
Vladimir Makarov
передается объект, а не переменная. Не пойму про какое "меняет все на ходу ты говоришь"
"меняет всё на ходу", т.е. по дефолту использует объекты, а не ссылки
источник

ВС

Владислав Субботин in phpGeeks
Vladimir Makarov
Подскажите, почему при передачи в конструктор объекта родителя - он передается по ссылке?
Потому что для объектов это именно так работает. И для ресурсов ещё, вроде бы. В отличие от остальных типов. Опять же, читайте как работает zval
источник

РД

Ратмир Диронин in phpGeeks
Anton Gordeev
больше никому так не говори)
Не особо понятно выразился, согласен, но я хоть что-то сказал, в отличие от тебя и всех остальных
источник

ВС

Владислав Субботин in phpGeeks
Ратмир Диронин
Не особо понятно выразился, согласен, но я хоть что-то сказал, в отличие от тебя и всех остальных
time to fight
источник

ВС

Владислав Субботин in phpGeeks
источник

VM

Vladimir Makarov in phpGeeks
Изначальная проблема была в том, что есть класс БД, в конструкторе которого идет подключение к БД:
(создается объект mysqli)
, и классы наследники - таблицы к этой бд, которые в конструктор принимают объект БД.
Так вот удобно получается, что соединение с БД нужно закрывать один раз в классе БД $this->mysqli->close();, а не в каждом наследнике
источник

ВС

Владислав Субботин in phpGeeks
Не проще сделать синглтон?
источник

ВС

Владислав Субботин in phpGeeks
И не наследовать соединение в классах-таблицах.
источник

ВС

Владислав Субботин in phpGeeks
Хотя, нет, я дичь предложил.
источник

VM

Vladimir Makarov in phpGeeks
угу, уровни абстракции совершенно разные
источник

ВС

Владислав Субботин in phpGeeks
Тогда сделай класс БД абстрактным, как вариант, чтобы только дочерний класс мог что-то делать сам с собой.
источник

ВС

Владислав Субботин in phpGeeks
Чтобы не было такой ситуации, как ты выше скинул.
источник

VM

Vladimir Makarov in phpGeeks
у меня все в порядке с реализацией, вопрос был только в закрытии соединении. Абстрактным не получится по причине невозможности иметь 2 открытых соединения к разным БД.
источник