Архив категории ‘Программирование’

Function create_function() is Deprecated in PHP 7.4

При миграции php на 7.4 возможно возникновение ошибки «Function create_function() is Deprecated» в старом легаси коде. Лечится достаточно просто…
(далее…)

djongo — модуль для работы с MongoDB

Немного магии, с которой столкнулся при использовании djongo (3-я буква отличается!) модуля Django для работы с MongoDB.
Все началось с ошибки:

django.core.exceptions.ImproperlyConfigured: 'djongo' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'

Решений в интернете много, но проблема в том, что на одном и тоже компьютере при использовании venv
ошибка была, а при работе без него — нет.
(далее…)

Yii2: Behaviors для нормального отображения даты create/update


При использование ActiveRecord можно запрограммировать behaviors на автоматическое создание или обновление полей «created_at», «updated_at» при соответствующим действии с записью.

При использовании стандартного поведения

 return [
            TimestampBehavior::className(),
        ];

в случае с mongodb в указанных столбцах будет присутствовать число, работать с которым не очень удобно.

   "created_at": NumberInt(1535906090),
   "updated_at": NumberInt(1535906090)

Это легко можно исправить.
(далее…)

Error: Class ‘MongoClient’ not found

После установки PHP 7 на части проектов можно столкнуться с ошибкой «Class ‘MongoClient’ not found«, связанной с заменой библиотеки pecl/mongo на pecl/mongodb и соответствующей заменой «MongoClient» на «MongoDB\Driver\Manager«.

К сожалению с данной проблемой пришлось столкнуться и в «yii2-flysystem»:

(далее…)

PHP: Ловим поисковых ботов

PHP скрипт для определения большей части поисковых ботов.
(далее…)

Yii2: Роутинг

fa38adfb3c5cf0d745feb514a858df6c

Один из важных моментов вашего будущего проекта это — ЧПУ. В поставке по умолчанию Yii2 обладает хоть интуитивно понятными, но далеко не самыми удобными Url адресами.
(далее…)

Yii2: Welcome to Gii (Автоматическая генерация кода)

yii2-gii

В состав Yii2 входит веб-инструмент для генерации кода (code generators), называемый Gii.

Gii является инструментом разработчика. Поэтому он должен быть установлен исключительно на сервере разработчика. Так как он может генерировать новые скрипты PHP, необходимо уделить особое внимание безопасности (пароль, IP фильтры).
(далее…)