Блог веб-программиста

Здравствуйте, меня зовут Денис, я веб-программист. Занимаюсь веб-разработкой около 10 лет. Владею PHP, MySQL, HTML5 (bootstrap), jQuery. Специализируюсь на разработке серверной части (backend) для сайтов и веб-приложений. Работаю на Yii фреймворке. Есть опыт реализации крупных проектов с нуля, навыки координирования работы небольших команд. В работе использую git, паттерны проектирования, миграции, модульные тесты.

Микро-фреймворк на PHP

Несколько вечеров я провел в поисках ультра-легкого шаблонизатора для PHP шаблонов, и простой библиотеки для работы с базой данных. Но тщетно. Я не нашел ничего даже отдаленно похожего на то что мне нужно. И тут история сделала очередной виток, и пошла по кругу. Я вернулся на 10 лет назад, и понял что для эффективного решения моих задач, нужно написать свой "велосипед". К счастью, многолетний опыт веб-разработки не прошел даром, на это ушло не так уж много времени. Я остался доволен результатом, и теперь хочу поделится своей разработкой.

Читать дальше

Ручная валидация CSRF токена в GET запросах

В Yii фреймворке реализована автоматическая защита POST запросов от CSRF атак, но если вдруг требуется использовать GET запросы, то этот механизм не работает. Для GET запросов метод validateCsrfToken компонента yii\web\Request всегда возвращает true.

Читать дальше

Принудительная установка версии php в composer

Принудительная установка версии php в composer необходима когда требуется работать с проектом на нескольких серверах и на основном установлена свежая версия php, а на остальных более старые. Приведу пример конкретной ситуации, я развернул yii2-advanced приложение на компьютере с php 7.1, он создал composer.lock файл, который я пробую использовать на сервере. Но на сервере установлен php 7.0, и даже эта разница не позволяет установить библиотеки приложения на сервер.

Читать дальше

Loginza не работает с HTTPS?

На одном из сайтов где использовалась авторизация через сервис Loginza включили SSL сертификат, работа с сайтом стала только по HTTPS протоколу, и Loginza перестала работать. Не сразу, но решение найти получилось.

Читать дальше

Множественное число в Yii 2.X

В первой версии фреймворка, ещё можно было как-то запомнить, как настроить склонение имен, но во второй версии для склоненения используется библиотека PHP, которая настраивается сложнее. Сохраню шпаргалку для себя тут.

Читать дальше