Size: a a a

2021 February 22

V

Vit in PHP
Господа, а поделитесь опытом закидывания пхп в эврику? Ну и поддержания его актуального там статуса. Чо юзали/как делали.
источник

ИЛ

Иван Лещёв in PHP
а что такое эврика?
источник

V

Vit in PHP
Там вышек человек курсы свои рекламил:) можете к нему записаться:) тула которая помогает в service discovery.
источник

V

Vit in PHP
Если что мне не влом нормально ответить, но это не удобно письменно и реально достойно темы на курсах:)
источник
2021 February 23

V

Vit in PHP
В общем виде, если у вас X отдельных сервисов, каждый из которых состоит из Y нод и вам надо сделать запрос с сервиса X1 на X2 вы получите проблему как получить конкретный адрес куда делать запрос.
источник

V

Vit in PHP
Вот тут можно начинать гуглить про service discovery.
источник

E

Evgeniy in PHP
Всем привет! Имею класс Db, в котором реализовано подключение к бд. Этот класс наследуется множествами другими классами, в которых есть методы для обращения к бд. Это конечно не хорошо, ведь при создание объекта любого класса, то создается подключение к бд. Как бы с этим работать можно. Но вот произошла такая ошибка, типа создалось больше чем одно подключение и произошла ошибка. Дело в том, что я в одном контролере сделал два экземпляра классов, которые наследуют Db. Теперь пытаюсь решить эту проблему. Читал про singleton, но говорят, что это плохая практика. И я думаю в файле index.php(точка входа) объявить класс Db и сделать его доступным на всех уровнях проекта. Подскажите, как это сделать?
источник

ИЛ

Иван Лещёв in PHP
во первых, такое не наследуют
источник

AL

Anton Lakotka in PHP
Evgeniy
Всем привет! Имею класс Db, в котором реализовано подключение к бд. Этот класс наследуется множествами другими классами, в которых есть методы для обращения к бд. Это конечно не хорошо, ведь при создание объекта любого класса, то создается подключение к бд. Как бы с этим работать можно. Но вот произошла такая ошибка, типа создалось больше чем одно подключение и произошла ошибка. Дело в том, что я в одном контролере сделал два экземпляра классов, которые наследуют Db. Теперь пытаюсь решить эту проблему. Читал про singleton, но говорят, что это плохая практика. И я думаю в файле index.php(точка входа) объявить класс Db и сделать его доступным на всех уровнях проекта. Подскажите, как это сделать?
не использовать наследование.
а использовать классы типа:


class TastyCakesRepository {
 private $db;
 public function __construct(DB $db) {}
 

 // Returns all the cakes
 public function all() {}

 public function chocoladeCakes() {
   $db->select(*)->from('cakes')->where('type' => 'chocolade');
   /...
 }
}


понял?
источник

E

Evgeniy in PHP
Да понял, но передавать каждый раз в конструктор, это как -то не то
источник

AL

Anton Lakotka in PHP
а наследовать ?
источник

AL

Anton Lakotka in PHP
и что ты знаешь про концепт Dependency Injection?
источник

E

Evgeniy in PHP
Иван Лещёв
во первых, такое не наследуют
Это уже понятно)
источник

E

Evgeniy in PHP
Anton Lakotka
и что ты знаешь про концепт Dependency Injection?
Печально, но ничего, только начал читать про это
источник

AL

Anton Lakotka in PHP
Ну в общем. отсылаю тебя прочесть вот это вот.
от корки до корки https://getjump.github.io/ru-php-the-right-way/
источник

AL

Anton Lakotka in PHP
там ты найдешь для себя ТОННЫ открытий 🙂
источник

ИЛ

Иван Лещёв in PHP
источник

E

Evgeniy in PHP
Благодарю
источник

AL

Anton Lakotka in PHP
> каждый раз в конструктор, это как -то не то
а так вынужден тебя огорчить.
Абсолютно везде пишут так, что все внешние зависимости либо передаются в конструкторе либо еще каким-то другим, но явным способом.

и теперь тебе предстоит всегда писать так же (если конечно не хочешь страдать и получать много денег в будущем)
источник

E

Evgeniy in PHP
Anton Lakotka
> каждый раз в конструктор, это как -то не то
а так вынужден тебя огорчить.
Абсолютно везде пишут так, что все внешние зависимости либо передаются в конструкторе либо еще каким-то другим, но явным способом.

и теперь тебе предстоит всегда писать так же (если конечно не хочешь страдать и получать много денег в будущем)
А что насчет синглетона?
источник