Используйте один формат даты во всем проекте cakephp 3.x

Это может быть простой вопрос.

Есть ли способ, которым я могу установить в своем проекте только один формат даты и иметь этот формат даты везде? И везде я имею в виду просмотр, редактирование, индексирование действий. Мне нужен формат Y-m-d H:i:s и это не имеет ничего общего с моим форматом даты локали.

Я пытался использовать следующий код внутри файла начальной загрузки, но он не работал

Type::build('date')->useLocaleParser()->setLocaleFormat('Y-m-d');
Type::build('datetime')->useLocaleParser()->setLocaleFormat('Y-m-d H:i');

В индексе он показывал дату как 10/10/15, 8:20 PM,

Также для редактирования даты я использую текстовый ввод, поэтому мне нужно, чтобы они отображались в текстовом поле как 2015/10/10 20:20,

4

Решение

CakePHP имеет ряд служебных классов и ассоциированных помощники это сделает большую часть повторяющейся или тяжелой работы для вас.

В этом случае Time служебный класс может позаботиться о формировании глобально, если вы настроить это с форматом по умолчанию вам нужно.

2

Другие решения

Я рекомендую вам создать файл / класс, который будет содержать значения CONST приложения, а затем потребовать, чтобы файл / автозагрузка этого класса был в вашем файле начальной загрузки приложения.

define("MYSQL_DATETIME_FORMAT", "Y-m-d H:i:s");

Затем определите свойство в вашем ApplicationController, например $mysql_datetime = MYSQL_DATETIME_FORMAT;и передайте это значение в ваши представления, помощник представления или класс декоратора.

Вы также можете создать пользовательский или определенный обратный вызов класса (например, помощник), который использует это значение и выполняет преобразования для вас (например, function to_mysql_datetime($timeval){...}, Тогда, по вашему мнению, вы можете позвонить:

$formatted_datetime = DateFormatHelper::to_mysql_datetime($other_datetime_value);

Это из документации CakePHP по этой проблеме:

Если у вас есть какие-либо дополнительные потребности в конфигурации, вы должны добавить их в
файл config / bootstrap.php вашего приложения. Этот файл включен
перед каждым запросом и командой CLI.

Этот файл идеально подходит для ряда распространенных задач начальной загрузки:

Определение удобных функций.
Объявление констант.
Создание конфигураций кеша.
Настройка перегибов.
Загрузка файлов конфигурации.

Будьте осторожны, чтобы сохранить шаблон проектирования программного обеспечения MVC при добавлении
вещи к файлу начальной загрузки: может быть заманчиво разместить форматирование
функции там, чтобы использовать их в ваших контроллерах. Как вы будете
см. в разделах «Контроллеры» и «Виды», есть лучшие способы
добавить пользовательскую логику в ваше приложение.

Источник

0