У yii2 есть множество пакетов для генерации swagger документации. Но к сожалению они все заброшены и не могут работать на последних версиях php. Воспользуемся базовыми пакетами.
Создаем простой деплой приложения на сервер с помощью github actions.
Столкнулся с ошибкой undefined offset 15 on line PhpSpreadsheet/Reader/Xls.php:3625
Добавляем зависимости www.npmjs.com в composer проект и автоматически их обновляем.
Наткнулся на особенности разворачивания проекта php с зависимостями от node на хостинге heroku.
В задаче загрузки контентной области есть ряд нюансов. В данной статье рассмотрю пример того, как можно их решить и напишу свой велосипед как turbolinks.
В любом приложении, если оно развивается, со временем появляются "узкие" места из-за которых могут начаться проблемы с производительностью. Так же могут появиться операции, требующие длительных вычислений. В данной статье я расскажу как можно добавить производительности, а порой и безопасности в приложение.
Помимо общепринятых приемов тюнинга в файла php.ini и конфигов модулей, есть еще один действенный метод, который может дать прирост производительности в 20% и уменьшение потребления памяти. Меня очень удивило отсутствие информации о данном методе на русском языке. Итак, приступим.
Обьявить класс внутри класса было невозможным до появления php 7. Так же в новой версии языка появилась поддержка анонимных классов свойства которых можно в некоторой степени сравнить с анонимными функциями. Анонимный класс обьявляется как обычны, однако вложенные анонимные классы имеют некоторые особенности, которые мы и рассмотрим.
Некоторые страницы сайта или php приложения могут открываться медленно. Причин этому быть может очень многие вещи от не правильной структуры базы данных, до неверной логики. Посмотрим как выяснить узкое место php скрипта.