- 1
- 2
- 3
- 4
$needMoreDataWM = ($exchange->getSumTo()->getCurrency()->getSystem()->getModule() == 'WebMoney' || $exchange->getSumFrom()->getCurrency()->getSystem()->getModule() == 'WebMoney') || $this->getRequest()->request->get('user_wmid');
$needMoreDataWM = $needMoreDataWM && !$user->getWmid();
$needMoreDataBank = ($exchange->getSumTo()->getCurrency()->getSystem()->getClass() == 'bank') && !$user->getVat() || $this->getRequest()->request->get('user_vat');
$needMoreData = $needMoreDataBank || $needMoreDataWM || !($user->getFullname() && $user->getPassport()) || $this->getRequest()->request->get('user_fullname') || $this->getRequest()->request->get('user_passport');
Fai 28.11.2012 01:50 # +1
Долго гадал, чего это "функции" со знака доллара начинаются.
Govnocoder#0xFF 28.11.2012 23:35 # 0
Vasiliy 28.11.2012 11:04 # 0
Одна сплошная магия и не одного слова зачем.
nick4fake 28.11.2012 13:42 # +2
Vasiliy 28.11.2012 16:44 # +2
в любом случае такие конструкции надо комментировать хотя бы так >Определяется система платежа, производится проверка, должен ли человек еще данные ввести.
eth0 28.11.2012 20:45 # 0
Люди любят копипасту и ненавидят промежуточные переменные. Seems o.k.
nick4fake 28.11.2012 21:09 # 0
eth0 28.11.2012 22:03 # 0
Слишком глубокий путь - явный косяк в архитектуре. По-моему так.
wvxvw 28.11.2012 22:09 # 0
Последний только 2 раза вызывается, но вот с $this->getRequest()->request такой косяк имеет место быть. И кешировоть оно никак не может, а вдруг там побочный еффект? ПХП не то, что не станет разбираться в том можно ли соптимизировать или нет, он просто даже не оперирует такими понятиями, там лишь бы до победного конца дотянуть, а как - уже не суть важно.
nick4fake 28.11.2012 22:13 # −1
А так - да, можно было запрос кешировать, только разница была бы небольшой.
wvxvw 28.11.2012 22:25 # 0
Ваш пример, и то, что в исходном говнокоде - абсолютно разные вещи. В цикле, если каждый раз по-новой получать значение массива, по которому идет перебор, то цикл просто во многих случаях работать не будет (нужно же хранить итератор и чтобы то, на что он показывает тоже хранилось, если вы их будете каждый раз по-новой создавать, то либо цикл никогда не сдвинется с первой позиции, либо вообще в астрал уйдет.
nick4fake 29.11.2012 00:32 # 0
wvxvw 29.11.2012 01:38 # 0
eth0 29.11.2012 08:41 # 0
Если в ЭТОМ есть ещё и побочные эффекты - проще застрелиться сразу.
wvxvw 29.11.2012 17:14 # +3
Fai 28.11.2012 22:17 # −1
Именно. Если где-то появляется такая цепочка вызовов, это значит, что разработка велась снизу-вверх (само по-себе это не очень плохо) и вдобавок без представления, что-же за функционал понадобится в итоге.
Ну или требования менялись.
nick4fake 29.11.2012 00:33 # 0