Salut ! Je vous présente aujourd’hui une librairie PHP que je trouve assez intéressant, Country
. Country est un package PHP disposant d’une base de données collectionnant les informations de 250 pays du monde.
Si vous vous demandez comment afficher la liste de pays dans ses formulaires, comment afficher le drapeau des pays ? Vous trouverez votre compte à rendre dans la suite.
Attendre dire des informations, je parle de toutes les informations d’un pays qu’on peut avoir besoin, le nom, la capitale, le drapeau, les langues, la superficie, le contient, l’indicatif du pays, le code postal, etc…
Utilisation de Country
Pour utiliser Country, il va falloir d’abord le charger comme dépendance de son projet avec composer .
composer require "rinvex/country":"^3.0"
Après chargement de Country, vous pouvez vous servir des helpers que disposent country n’importe où dans votre projet. N’oubliez cependant pas de charger l’autoloader.
<?php //Chargement de l'autoloader require __DIR__.'/vendor/autoload.php'; $drc = country('cd'); $drc->getName(); //DR Congo $drc->getOfficialName(); // Democratic Republic of the Congo $drc->getNativeName(); // RD Congo $drc->getNativeOfficialName(); // République démocratique du Congo $drc->getDemonym(); // Congolese $drc->getCallingCode(); // 243 $drc->getLanguages(); // ['French', 'Kikongo', 'Lingala', 'Tshiluba', 'Shuahili'] $drc->getFlag() //Affiche le drapeau de la RDC sous forme de balise svg. //...
Vous pouvez aussi récupérer la liste des pays avec countries()
qui renvoie un tableau.
<?php require __DIR__.'/vendor/autoload.php'; $countries = countries(); echo count($countries); //250
Et enfin, vous pouvez filtrer les pays comme suit :
<?php require __DIR__.'/vendor/autoload.php'; $africa_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['AF'=>'Africa'] ); $official_francophones_countries = \Rinvex\Country\CountryLoader::where( 'languages', ['fra'=>'French'] ); echo count($africa_countries); //58 echo count($official_francophones_countries); //23
On peut donc facilement faire notre liste de pays par contient :
Afrique
Liste des pays d’Afrique
<?php require __DIR__.'/vendor/autoload.php'; $africa_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['AF'=>'Africa'] );
Amérique
Liste des pays d’Amériques
<?php require __DIR__.'/vendor/autoload.php'; $north_america_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['NA'=>'North America'] ); $south_america_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['SA'=>'South America'] ); $america_countries = array_merge( $north_america_countries, $south_america_countries );
Asie
Liste des pays d’Asie
<?php require __DIR__.'/vendor/autoload.php'; $asia_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['AS'=>'Asia'] );
Europe
Liste des pays d’Europe
<?php require __DIR__.'/vendor/autoload.php'; $europa_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['EU'=>'Europe'] );
Océanie
Liste des pays d’Océanie
<?php require __DIR__.'/vendor/autoload.php'; $oceania_countries = \Rinvex\Country\CountryLoader::where( 'geo.continent', ['OC'=>'Oceania'] );
Vous trouverez plus d’information dans le repository de la librairie.