Archive for 'Грабли'
Недавно столкнулись с проблемой в тесте.
В тесте с помощью sfBrowser (sfTestFunctional) запрашивали страничку, используя роут:
url_for(’@cart_clear’)
роут был объявлен следующим образом
routing.yml:
cart_clear:
url: /cart/clear
params: {module: cart, action: clearcart}
Иногда DQL подкидывает замечательные сюрпризы в генерируемых SQL запросах. В такие моменты начинаешь жалеть, что не прочитал доки от корки до корки))
Регистрируясь в нашей системе пользователь должен подтвердить свой email. Как только пользователь подтверждает свой email его с чистой совестью можно добавить в группу «client» и разрешить использовать все возможности нашей системы не требуя перелогиниться.
И вот вчера, решая эту простую задачу я столкнулся с очень любопытным явлением, о котором я бы хотел рассказать.
Недавно решал проблему, ради которой пришлось вспоминать цепочку передачи данных по http протоколу от клиента к серверу и какие преобразования могут с ними происходить.
У нас есть некая клиент-серверная система. Упрощенно ее можно представить как пхп-скрипт, лежащий на сервере и пхп-скрипты, которые раскиданы по разным хостингам. Сервер методом POST шлет данные клиентам, те отрабатывают и возвращают [...]
Если в update присутствует условие whereIn с пустым массивом в качестве параметра, то оно не учитывается при запросе.
Например, функция активации пользователей:
public function activateUsers(array $user_ids)
{
Doctrine_Query::create()
->update("User u")
->set("u.is_active", 1)
->whereIn("u.id" , $user_ids)
->execute();
}
Если вызвать эту функцию с пустым массивом $user_ids, то проапдейтятся все записи из таблицы пользоватей (т.е. им проставиться is_active [...]