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

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

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

Ошибка 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
читать далее

Установка ngx_pagespeed без пересборки nginx

На днях решил немного ускорить работу сайта путем установки на сервер модуля nginx_pagespeed, но при этом не хотелось пересобирать сам nginx. На помощь пришла сборка nginx с включенным модулем от Alexey Degtyarev. А теперь перейдем к самому процессу установки.

  • 2016-02-03 22:19:20
читать далее

Ускорение скорости загрузки composer пакетов с помощью hirak/prestissimo

Буквально на днях наткнулся на замечательный пакет, который позволяет распараллелить загрузку при установке и обновлении проекта через composer. Пакет стоящий и действительно работающий. Сейчас я о нем немного расскажу.

  • 2016-01-31 21:33:24
читать далее