#php #rest #symfony #date
#php #rest #symfony #Дата
Вопрос:
Как бы вы предложили передать из бэкэнда (формат даты и времени) во внешний интерфейс Js (и наоборот) «дату» с использованием Symfony?
На данный момент я создал (кроме поля ORM «дата») средство получения «formattedDate», которое возвращает дату, отформатированную в соответствии с требованиями клиента (это может быть временная метка или простая дата, отформатированная с использованием языкового стандарта, например, гггг-мм-дд). Затем клиент считывает «formattedDate» и отправляет его обратно измененным, поэтому при каждом действии «update» я анализирую json, и если я получил поле «formattedDate», я использую его для записи поля «дата».
Я не уверен, что это хороший подход, поскольку он требует от меня (на мой взгляд) слишком много настроек, чтобы заставить его работать, и я почти уверен, что есть что-то проще, чего мне не хватает.
Спасибо
Комментарии:
1. Самым простым и гибким способом было бы использовать ISO 8601, поскольку оба (PHP и JS) точно понимают, что он говорит.
date('now', 'c');
. Symfony (и Doctrine) также легко поймут формат даты!
Ответ №1:
Я думаю, что есть много подходов, которые могут сработать, и тот, который вы уже используете, подходит.
Я работаю с датами в проектах Symfony с помощью класса DateTimeImmutable ; Поэтому я согласен с интерфейсом в том, в каком формате им нужны даты, и каждый раз, когда я отправляю дату во внешний интерфейс, я буду форматировать ее соответствующим образом, и каждый раз, когда я получаю дату из внешнего интерфейса, я буду преобразовывать ее в DateTimeImmutable.
Вы можете найти больше о DateTimeImmutable в официальных документах
Я надеюсь, что это даст вам лучшую перспективу.