Метка: php

  • Простой способ реализовать модульную структуру Laravel-проекта

    Опишу вкратце самый простой способ, с помощью которого я разделил проект пополам. В моём случае это были админка и личный кабинет пользователя.

    Это не потребует подключения новых пакетов, перестройки директорий фреймворка и вот этого всего. Всё сводится к следущему:

    (далее…)
  • Laravel 5.8: настроить часовые пояса для пользователей

    Привет. Заметка по следам предыдущего материала: Даты, деньги и enum.

    Однажды, пока я работал над проектом, меня осенило. Даты-то у меня везде разные!

    Во-первых, система, которую я разрабатываю, зависит от стороннего API. Оттуда даты приходят в чистом UTC, что хорошо. Время моего сервера — московское (UTC+3), допустим это окей, судить не берусь. А время в конфигах лары — Asia/Irkutsk (UTC+8). Вот здрасьте. Надо решать проблему.

    Лара отдаёт мускулю даты (тип timestamp) как они есть и мускуль их такими пишет в БД. В этих timestamp-ах не указан часовой пояс, что хорошо для нас — это даёт гибкость. Время сервера никак на ни на что это не влияет, так что этим можем пренебречь. Уже легче.

    Теперь нужно понять что в каком порядке корректировать. План таков:

    (далее…)
  • Даты, деньги и enum

    Короткий пост о важном — как в проекте работать с деньгами, датами и перечислимыми типами.

    Это уже давно не секрет для опытных разработчиков. Но и им иногда нужно об этом вспомнить, а новички до этих простых истин ещё могли не дойти в силу опыта.

    (далее…)
  • Laravel 5.8: как скопировать значения из старой колонки в новую во время миграции?

    Ситуация: во время разработки проекта на Laravel возникла необходимость заменить один столбец другим. Для этого нужно написать миграцию.

    Задача: создать столбец, в который переместить значения из ненужного, а затем удалить ненужный.

    Решение: очень простое и очевидное — изменить схему, записать значения, изменить схему. Далее привожу пример готовой заготовки миграции:

    Посмотреть миграцию
  • Битрикс: как разлогинить любого заблокированного пользователя. 100% рабочий метод.

    Быстрая заметка.

    Гуглил сабж — все великие умы сообщества в каком-то диком ступоре, агонии, ужасе, не понимают как быть. Есть ещё какой-то нахер ненужный модуль. Вроде бы такой функционал из коробки не завезли до сих пор.

    Ситуация: в битриксе работает агент, который периодически блокирует пользователей по определённым критериям.

    Задача: заблокированные пользователи, если они были авторизованы в момент блокировки, должны быть сразу разлогинены.

    Решение: проверять флаг активности текущего пользователя и перенаправлять на адрес логаута в публичной части.

    Описание: (далее…)