La dashboard amministrativa di Bootstrap deve destreggiarsi con diversi formati di data e ora a seconda della situazione. Ecco come funziona.
Elenco dei formati di data, data e ora utilizzati in PHP CRUD Generator
Pagine | Utilizzo | Lingua | Formato |
---|---|---|---|
Liste da leggere | Data leggibile dall'uomo, tradotta in base alla lingua dell'utente. | PHP con estensione intl abilitata | TERAPIA INTENSIVA * |
Liste da leggere | Data leggibile dall'uomo NON tradotta | PHP senza estensione intl abilitata | Formato data PHP ** |
Creare e aggiornare i moduli | Plugin Datepicker | Javascript | Formati del plugin Pickadate *** |
Oggetti PHP | Campi data, ora e datetime del database | PHP/MySQL | Y-m-d H:i:s |
*ICU - https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details
**Elencodei formati di data di PHP: https://www.php.net/manual/en/function.date.php
***Listadei formati di data di pickadate: https://amsul.ca/pickadate.js/date/
I formati di data e ora del Generatore e del pannello di amministrazione
Quando imposta un formato di data/ora in un elenco READ del generatore, la sua scelta viene memorizzata nel file interno(generator/database/phpcg/[your_table].json).
Il formato memorizzato è il formato Javascript
I selezionatori di data e ora del modulo di amministrazione utilizzeranno questo formato, + un campo nascosto con un suffisso"_submit" per inviare i valori nel formato data/ora di MySQL.
Il modello di elenco TWIG READ dovrà successivamente convertire la data/ora dal valore MySQL al formato leggibile dall'uomo.
A tale scopo, il formato Javascript viene convertito dal generatore in PHP ICU da generator/class/generator/TemplatesUtilities.php. Il formato PHP ICU generato sarà passato come argomento nel modello TWIG per convertire la data/ora MySQL nel formato leggibile dall'uomo.
La funzione è pickerdateToPhpdate($pickerdate)
La classe item costruisce il valore dell'oggetto utilizzando il formato PHP/MySQL (nessuna conversione di formato).
Il modello TWIG dell'elenco READ chiama la funzione formatDate($date, $format)
in vendor/twig/twig/lib/Twig/Extension/CrudTwigExtension.php
Il dato $date
è in formato PHP/MySQL e può essere una data, un'ora o un datetime.
Il $formato
dato è il formato ICU.
IntlDateFormatter::formatObject()
utilizzando Locale::getDefault()
I datari qui sotto sono generati da un formato casuale utilizzando la stessa logica del Generatore CRUD.