Aller au contenu

Points d'extension

phil/address

La bibliothèque est du PHP simple : elle ne déclare ni service ni port, et ses classes sont finales. Ce que choisit une application passe par des arguments, et les données sont importées plutôt que configurées.

PointComment
La langue d'une adresseLe $locale de AddressFormatter::format(), lines(), postalLabel() et Countries::name() : la langue du pays choisit son format local et le nom de ses subdivisions
Le pays d'où part le courrierLe $origin de AddressFormatter::postalLabel() : la ligne du pays n'est ajoutée que depuis l'étranger
Des règles plus strictes que celles du paysAddressValidator::violations() donne ce que dit le format du pays ; les règles propres à l'application — une zone de livraison, un champ qu'elle exige toujours — se vérifient à côté
L'endroit où une adresse est conservéeAddressArray::from() donne un tableau pour une seule colonne JSON, AddressArray::to() le relit
Les données structuréesSchemaOrg::of() donne un PostalAddress de schema.org à intégrer au JSON-LD de l'application
Les formats et les subdivisionsLes données PHP de data/, importées d'une version de commerceguys/addressing par Data\DataImporter avec bin/import-data.php ; une version plus récente s'importe, elle ne se modifie jamais à la main — voir Données
Attraper les erreurs de la bibliothèqueChaque exception implémente Phil\Address\Exception\AddressException

Les noms de pays viennent de symfony/intl et suivent ses versions : une application qui nomme un pays autrement garde ses propres libellés.