Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Все записи блога

Переопределение классов в Yii2 через автолоадер yii framework

Переопределение классов в Yii2 через автолоадер yii framework

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

  • 2016-05-15 19:01:35
читать далее

Как сделать SCSS, LESS, SASS из CSS или конвертер из CSS

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

  • 2016-05-03 18:58:41
читать далее

Ошибка JSON_ERROR_SYNTAX в php 7

JSON_ERROR_SYNTAX в php 7

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

  • 2016-03-23 18:34:24
читать далее

Yii framework. Поведение или трейт (Behavior or Trait)

Yii framework. Поведение или трейт (Behavior or Trait)

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

  • 2016-03-11 19:25:26
читать далее

Ошибка Illegal offset type in isset or empty после обновления composer

Ошибка Illegal offset type in isset or empty после обновления composer

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

  • 2016-02-28 09:44:57
читать далее

Yii2. Особенность ActiveRecord::findOne() Баг или фича?

Yii2. Особенность ActiveRecord::findOne() Баг или фича?

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

  • 2016-02-26 19:40:43
читать далее

Git. Как найти коммит который все сломал?

Git. Как найти коммит который все сломал?

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

  • 2016-02-17 21:13:41
читать далее

Инструмент для визиализации зависимстей composer-а

Инструмент для визиализации зависимстей composer-а

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

  • 2016-02-15 21:03:58
читать далее