169 похожих чатов

Всем привет. У меня есть абстрактный класс. В нем создаю

клиент Guzzle. От абстрактного класса наследуюсь и в наследнике делаю запрос. Хочу проверить base_url моего газл клиента. Как это сделать?

Вот так в абстркном классе в конструкторе делаю клиент газла:

$this->http = new Client([
'base_uri' => $this->getBaseUri(),
'verify' => false,
'auth' => [$this->authUser, $this->authPass],
'headers' => [
'Accept' => 'Content-Type: text/xml;charset=UTF-8',
],
'http_errors' => false,
]);

Метод getBaseUrl реализован в наследнике. Хочу убедится что он ставит правильный URL

11 ответов

12 просмотров

создавать что-либо внутри классов -- табу. Лучше передать через конструктор. Наследованием нужно пользоваться в ограниченных случаях, которые можно объяснить. Зачем тебе абстрактный класс? И что именно ты хочешь проверить? тестами или что-то другое

Max-K Автор вопроса

нужно сделать несколько классов-сервисов для запросов на SoapApi. Хочу эти запросы разделить на разные классы, чтобы сгрупировать их красивше. Нюанс в том, что у разных этих классов URL запроса будет разный. Хочу этот URL настраивать в потомке, а создавать сам клиеент газла из родителя. Но надо как-то из потомка родителю передать base_url

Тестить будет сложно, не замокаешь клиент

Почему бы не взять готовые либы для работы с SOAP?

А почему не сгруппировать несколько классов но без наследования. Например: $client = new SoapClient(new GuzzleTransport()); $client->commonApi()->callFunctionX(); $client->specificApi()->callFunctionY(); ?

Так тебе нужно не наследоваться от базового класса в котором есть клиент газла, а создать на каждый запрос отельный класс и передавать туда клиент газла.

А вы точно СТО?

Или $client1 = new SoapClient(new GuzzleTransport(‘baseurl1’)); $client2 = new SoapClient(new GuzzleTransport(‘baseur2’)); $client->callFunctionX(); $client->callFunctionY(); @altrecipe

Мб наследнике проверить свойство http var_dump($this->http)?

Max-K Автор вопроса

Хммм. Посмотрим. Может и так сделаю

Max-K Автор вопроса

Хммм))) Как вариант)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта