MonthИюнь 2016

Laravel collections: изменить атрибут у элементов

Collections — это отличный инструмент для работы с коллекцией каких-либо данных (это может быть результат выборки Eloquent элементов, или массив объектов). Лично я его активно использовал для создания пагинации, а сегодня открыл для себя еще способ использования.

Итак, проблема заключалась в следующем: я получал из базы список дефолтных цен для товаров (таблица prices), и одновременно получал список измененных цен для них же в рамках конкретных акций. В силу построения архитектуры, я не мог получить эти данные через один SQL запрос (в моем случае — с помощью Eloquent Query Builder, если точнее). Отображать же пользователю нужно актуальные цены, а не дефолтные, поэтому я использовал получание этих значений через отдельный массив, ключом которого был guid цен.

Однако использование дополнительных массивов не «есть хорошо», поэтому мне стало интересно, есть ли в Laravel collections способ сделать код красивее. И оказалось, что решение есть!

Где «prices» — это стандартные цены (название, обычная цена и проч), а массив «currentPrices» — это актуальные цены. В blade шаблоне мне не приходится искать массив по ключу и обрабатывать ошибку если ключ не найден, теперь это делается по уму в контроллере.
 

Эмуляция медленного интернет соединения на реальном устройстве Android

Причины, по которым вам понадобилось узнать как ведет себя приложение, которое вы разрабатываете, на устройстве с медленным интернет соединением (3G, GPRS и проч.) могут быть известны только вам: если они у вас появились, значит, есть тому причины. А вот как с этой проблемой разобраться, я опишу ниже.

Прежде всего, надо уточнить, что данный способ работает на OS X.

Continue reading

Управление показом Laravel DebugBar

Есть крайне удобная библиотека в Laravel, которую прям готов порекомендовать всем-всем-всем разработчикам на данном фреймворке. Я говорю о Laravel Debugbar. Лично я использую для отладки SQL запросов, но была, к примеру, необходимость отлавливать вызываемые ивенты в системе… в общем, плюшек там интересных хватает.

Continue reading