Get information about countries via a RESTful API
- PHP >= 5.5
Using Composer
composer require namnv609/php-rest-countries
or you can include the following in your composer.json
"namnv609/php-rest-countries": "^1.0.0"
First, create new RestCountries
instance to make configuring the library for use:
use NNV\RestCountries;
$restCountries = new RestCountries;
Once the RestCountries
instance has been registered. You may use it like so:
$restCountries->all();
Search by country name. It can be the native name or partial name or full name
$restCountries->byName("viet");
// or with full name
$restCountries->byName("vietnam", true);
Search by ISO 3166-1 2-letter or 3-letter country code(s)
// Single country code
$restCountries->byCodes("vn");
// Multiple country codes
$restCountries->byCodes(["vn", "cn", "th"]);
Search by ISO 4217 currency code
$restCountries->byCurrency("vnd");
Search by ISO 639-1 language code.
$restCountries->byLanguage("vi");
Search by capital city
$restCountries->byCapitalCity("hanoi");
Search by calling code
$restCountries->byCallingCode("84");
Search by region: Africa, Americas, Asia, Europe, Oceania
$restCountries->byRegion("asia");
Search by regional bloc:
- EU (European Union)
- EFTA (European Free Trade Association)
- CARICOM (Caribbean Community)
- PA (Pacific Alliance)
- AU (African Union)
- USAN (Union of South American Nations)
- EEU (Eurasian Economic Union)
- AL (Arab League)
- ASEAN (Association of Southeast Asian Nations)
- CAIS (Central American Integration System)
- CEFTA (Central European Free Trade Agreement)
- NAFTA (North American Free Trade Agreement)
- SAARC (South Asian Association for Regional Cooperation)
$restCountries->byRegionalBloc("asean");
You can filter the output of your request to include only the specified fields.
// You can use `fields([])` with any available methods
$restCountries->fields(["name", "callingCodes", "capital"])->all();
$restCountries->fields(["name"])->byName("vietnam", true);
$restCountries->fields(["callingCodes"])->byRegionalBloc("asean");