
Данный прием можно охарактеризовать, как "грязный хак", но иногда он бывает чрезвычайно полезен. Например, когда изменить работу стороннего класса, который много где используется (в том числе, в библеотеках третьих лиц).
Блог содержащий короткие заметки касающиеся программирования для web.

Данный прием можно охарактеризовать, как "грязный хак", но иногда он бывает чрезвычайно полезен. Например, когда изменить работу стороннего класса, который много где используется (в том числе, в библеотеках третьих лиц).
Вспомните, как часто при покупке шаблона (или в любом другом случае, когда вам в наследство достается проект) вы расстраивались, что все стили лежат в css-файлах и думали насколько жизнь могла стать прекраснее при наличии SCSS. А ведь это не проблема и не стоит тратить нервные клетки. Сейчас расскажу про сервисы позволяющие переконвертировать css в нормальные файлы для работы.

Иногда бывает необходимость удалить все таблицы из БД. Например, это может понадобиться перед выполнением тестов. Вот мое решение данной ситуации.

Думаю, ни для кого не секрет, что Yii2 предоставляет достаточно широкий выбор вариантов кэширования данных через различные хранилища. О них сегодня и поговорим.

Недавно в одном из проектов обнаружилась проблема при тестировании на PHP 7. Тесты прогоняются на PHP 5.5.x, 5.6.x, 7.0.x и hhvm-3.12.x, но проваливаются они только на PHP 7. Проблема оказалась в функции json_decode(). А теперь немного подробнее.

Повторное использование кода всегда считалось (и считается) хорошим тоном и современные ЯП предлагают нам достаточно широкий набор возможностей это осуществить. Сегодня поговорим об особенностях использования поведений и трейтов в Yii2.

Сегодня решил обновить композер в системе. Все прошло гладко, но при попытке выполнения composer update в проекте появилась ошибка Illegal offset type in isset or empty. Делать rollback к предыдущей версии композера не круто, поэтому я решил отыскать другое решение.

На этой неделе столкнулись с интересной особенностью работы ActiveRecord::find()->one(). Как выяснилось, она никак не ограничивает результат выборки, то есть не добавляет к запросу limit(1). Чем это плохо и в каких случаях необходимо исправить ваш код? Об этом и поговорим.

Возникали ли у вас паника, когда после git pull-а все напрочь ломается и ничего не работает или работает, но не все? В этом случае можно искать "коммит-киллер" разными способами. Например, постепенно откатывая HEAD, но я расскажу более прогрессивный метод.

Сегодня я поведаю рассказ о замечательнейшем композер пакете `clue/graph-composer`, который позволяет строить зависимости пакетов и версий композер пакетов, что является очень актуальным при работе с большими проектами или проектами с большим количеством контрибьютеров. В общем в тех случаях, когда следить за пакетами и зависимостями проекта становится сложновато.