• Developer New

    Saturday, March 25, 2017

    Laravel Countries and Currencies Package

    Antonio Carlos Ribeiro recently launched a new package that gives you a powerful setup for dealing with the different Countries of the world, all through a comfortable Laravel syntax using Collections.
    The package does a lot. Everything from geology and topology, to states, currencies, and time zones.
    As I was reviewing it I tried to think of some common use cases that almost every app needs and here are a few examples:

    Generate a list of Countries

    Need a list of all the countries in the world? It’s as simple as calling:
    Countries::all()->pluck('name.common');
    
    [
        "Aruba",
        "Afghanistan",
        "Angola",
        "Anguilla",
        "Ă…land Islands",
        ....
    

    Generate a list of States

    In a lot of registration forms, you need to allow people to pick their state.
    Countries::where('name.common', 'United States')
        ->first()
        ->states
        ->sortBy('name')
        ->pluck('name', 'postal')
    
    This gives you a result of the states that can then be used in a select list:
    {
        "AL": "Alabama",
        "AK": "Alaska",
        "AZ": "Arizona",
        "AR": "Arkansas",
        "CA": "California",
        ....
    

    Get the timezone for a State

    Another typical pattern is figuring out a timezone. If you already have the users country and state it’s now super easy:
    return Countries::where('name.common', 'United States')->first()->timezone->NC;
    
    Returns:
    America/New_York
    

    Get a countries currency

    Need to get information on a specific countries currency? With this package it’s very easy:
    Countries::where('name.common', 'United States')->first()->currency;
    
    Which returns:
    [{
        "alternativeSigns": [],
        "ISO4217Code": "USD",
        "ISO4217Number": "840",
        "sign": "$",
        "subunits": 100,
        "title": "U.S. dollar",
        ....
    
    These examples are just the basics of what can be done. It supports the following countries, states, and currencies:
    • Countries
      • name (common and native)
      • currency
      • languages
      • states
      • timezone
      • flags (sprites, flag icons, svg)
      • tld
      • multiple ISO codes
      • calling code
      • capital
      • alternate spellings
      • region & sub region
      • translations (country name translated to some other languages)
      • latitude and logitude
      • borders (countries) – you can hydrate those borders (like relatioships)
      • area
      • topology
      • geometry
    • Currencies
      • sign
      • ISO codes
      • title
      • subunits
      • usage (dates)
    • States
      • adm codes
      • name & alt name
      • type (state, city, province, canton, department, district, etc.)
      • latitude & longitude
      • language
      • (and many more

    No comments:

    Post a Comment

    Fashion

    Beauty

    Travel