Size: a a a

2021 February 19

ПГ

Павел Г. in PHP
Nex Otaku
Нет, не будет. БЛ у тебя будет работать одинаково. Проверка обязательности будет в апи, а не в БЛ.
Ладно кейс:  есть чат. У него оператор - он 1. Какой оператор берется из настроек проекта.
$operator = $this->setting->get('operator');
Задача сделать несколько операторов  и их преключение. Из-за других факторов было принято решение, что оператор будет передаваться с фронта в новой версии. Теперь в коде БЛ:
if(request('operatorLogin')){
 $operator = $this->remoteApi->getByLogin(request('operatorLogin'));
}else{
 $operator = $this->setting->get('operator');
}
источник

VM

Volodymyr Melko in PHP
ну и вообще, лучше не версионировать АПИ до тех пор, пока это возможно
версионирование та еще головная боль
источник

VM

Volodymyr Melko in PHP
Павел Г.
Ладно кейс:  есть чат. У него оператор - он 1. Какой оператор берется из настроек проекта.
$operator = $this->setting->get('operator');
Задача сделать несколько операторов  и их преключение. Из-за других факторов было принято решение, что оператор будет передаваться с фронта в новой версии. Теперь в коде БЛ:
if(request('operatorLogin')){
 $operator = $this->remoteApi->getByLogin(request('operatorLogin'));
}else{
 $operator = $this->setting->get('operator');
}
а вот это не надо делать в БЛ =)
источник

ПГ

Павел Г. in PHP
Volodymyr Melko
а вот это не надо делать в БЛ =)
Если речь про доступ к request - то это для примера, если нет, то как?
источник

VM

Volodymyr Melko in PHP
function someBLOperation(Operator $operator //,other args )
источник

VM

Volodymyr Melko in PHP
все, БЛ теперь всеравно откуда берется оператор и БЛ не меняется при изменении в АПИ
источник

NO

Nex Otaku in PHP
Ну то что у тебя "request" в БЛ уже говорит о том, что это контроллер а не БЛ )

Да, решение от Володимира самое простое что можно сделать.
источник

ПГ

Павел Г. in PHP
Nex Otaku
Ну то что у тебя "request" в БЛ уже говорит о том, что это контроллер а не БЛ )

Да, решение от Володимира самое простое что можно сделать.
Это пример
источник

ПГ

Павел Г. in PHP
Volodymyr Melko
все, БЛ теперь всеравно откуда берется оператор и БЛ не меняется при изменении в АПИ
у меня в версии один была одна строчка $operator = $this->setting->get('operator'); У меня вообще оператор не приходил в апихе. В версии 3 приходит оператор и надо доставть его из удлаенного сервиса.
источник

ПГ

Павел Г. in PHP
Я короче не понял решения
источник

DT

Dmitriy Tkachenko in PHP
а в чем смысл это делать только в новом апи
источник

V

Vlad in PHP
Nex Otaku
Нет, не будет. БЛ у тебя будет работать одинаково. Проверка обязательности будет в апи, а не в БЛ.
Привет всем!
При экспорте в csv больших данных уходит много времени и php выкидывает ошибку, локально вполне можно увеличить max_execution_time и работать без проблем, но понимаю, что это кастыль.
Подскажите, какие есть способы правильно работать с большими данными? (кроме ajax запросов с offset). Мб какие-то очереди через php?
источник

ПГ

Павел Г. in PHP
Dmitriy Tkachenko
а в чем смысл это делать только в новом апи
Потому что на фронте v1 нет данных об операторе
источник

DT

Dmitriy Tkachenko in PHP
если можно добавить в существующее этот параметр с дефолтным значением
источник

DT

Dmitriy Tkachenko in PHP
и апи будет полностью совместимо
источник

ПГ

Павел Г. in PHP
Dmitriy Tkachenko
если можно добавить в существующее этот параметр с дефолтным значением
Так вот оно и берется в этом условии:
if(request('operatorLogin')){
 $operator = $this->remoteApi->getByLogin(request('operatorLogin'));
}else{
 $operator = $this->setting->get('operator');
}
источник

ПГ

Павел Г. in PHP
Но это уже БЛ
источник

DT

Dmitriy Tkachenko in PHP
слишком мало контекста
источник

ПГ

Павел Г. in PHP
Хотя тут вариант сделать это в контроллере и передавать в БЛ оператора... но выходит что я вокнтроллере доставю объект
источник

ПГ

Павел Г. in PHP
Dmitriy Tkachenko
слишком мало контекста
Есть чат, клиент-оператор. Настройки какой именно оператор - хранятся на нашем удаленном сервисе настроек. В данном случае это просто логин.  Пришла задача - что оператор может меняться не через настройки, а через UI клиента. Теперь фронт шлет еще какому оператору слать сообщения от клиента. Т.е. на v1 - фронт не шлет оператора, на v2 шлет. В зависимости от того шлет или нет - мне нужно обращаться к разным сервисам, чтобы определить оператора для дальнейших действий.
источник