Yii2 (4)

Yii2 и PHP, побитовое сравнение

В представлении памяти вычислительной техники, вся информация кодируется в двоичной форме, т.к. ее легко сохранять как одно из двух устойчивых состояний, а именно, 1 и 0.

Поверхностно освежим память о двоичной форме исчисления.

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

Yii2, случайная рекурсия при использовании магических методов

Сижу, никого не трогаю, и понимаю, что сделал очень неприятную ошибку. Сейчас опишу ее суть.

Была определенная задача, создавать альбом/категорию, при создании продукта, и связывать их между собой. В бд, в таблице, у продукта было стандартное поле album_id, с его помощью я связывал продукт и категорию. Но при добавлении продукта, а это были платья, альбом уже или создан, или еще нет. Но его id нам уже нужен. Не долго думая, решил использовать магические методы, и при получении поля album_id в модели, я вызывал метод, который создавал или получал нужную категорию, и выдавал ее нам. Это было очень удобно, не занимало много места, и было довольно гибко. При добавлении нового товара, цель была удовлетворена полностью. Возможно были другие, более лучшие варианты, но я их не знал, в итоге вышел такой код.

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

Yii2, установка кодировки в миграциях

Не так давно, при тестировании продукта, был замечен очень интересный баг, а именно MySql не принимала русский текст. Проявлялся этот баг только на рабочем сервере, на локальной машине он отсутствовал. К тому же, он сопровождался ошибкой базы данных: "name": "Database Exception","message": "SQLSTATE[HY000]: General error: 1366…

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