Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

🇨🇭 PHP Swiss Cantons

tests codecov Latest Stable Version Total Downloads License

Using Javascript? There's a port of this package available.

Installation

The easiest way to install the package is by using composer. The package requires PHP 7.4.

composer require "wnx/php-swiss-cantons"

Usage

Use the CantonManager Class to interact with this package. Below you find an example how you can use with in the Laravel Framework. Further you find all public API methods for CantonManager and Canton.

<?php 

use Wnx\SwissCantons\CantonManager;

$cantonManager = new CantonManager();

// Instance of \Wnx\SwissCantons\Canton
$canton = $cantonManager->getByAbbreviation('zh');
$canton = $cantonManager->getByName('Zurigo');
$canton = $cantonManager->getByZipcode(8000);

// "Zürich"
$cantonName = $canton->setLanguage('de')->getName();

CantonManager

Use the CantonManager to find a Canton. It will return a new Instance of Canton or throws an Exception if no Canton could be found for the abbreviation, name or zipcode.

getByAbbreviation()

Find a Canton by its abbreviation. See this list for available abbreviations.

$cantonManager = new Wnx\SwissCantons\CantonManager();

$canton = $cantonManager->getByAbbreviation('GR');
// $canton is an instance of Wnx\SwissCantons\Canton

getByName()

Search for a Canton by it's name. The name must exactly match one of the translations of the Canton (German, French, Italian, Romansh or English).

$cantonManager = new Wnx\SwissCantons\CantonManager();

$canton = $cantonManager->getByName('Zürich');
// $canton is an instance of Wnx\SwissCantons\Canton

getByZipcode()

Search for a Canton by a zipcode.

$cantonManager = new Wnx\SwissCantons\CantonManager();

$canton = $cantonManager->getByZipcode(3005);
// $canton is an instance of Wnx\SwissCantons\Canton

Canton

setLanguage($string = 'en')

Set the language, which should be used to display the name of the canton. The following languages are currently supported.

  • German (de)
  • French (fr)
  • Italian (it)
  • Romansh (rm)
  • English (en, default)

The method returns the current instance of Canton for easier method chaining.

$canton->setLanguage('rm');
$canton->setLanguage('fr')->getName();

getName()

Return the Name for the given Canton. If the method is used without calling the setLanguage() method first, it will return the name in English.

$canton->getName(); // Grisons
$canton->setLanguage('de')->getName(); // Graubünden

getAbbreviation()

Return the offical abbreviation for the given Canton.

$canton->getAbbreviation(); // e.g. ZH

Cantons

This class is used internally but can also be used in your own project if you need a list of all cantons

getAll()

Returns an array containg Wnx\SwissCantons\Canton objects.

use Wnx\SwissCantons\Cantons;

$cantons = (new Cantons)->getAll();

getAllAsArray($defaultLanguage = 'en')

Returns a one dimensionl array of all Cantons. The key is the abbreviation. The value will be the translated name of the Canton. The default language is English. Pass one of the valid languages to the method, to localize the names.

use Wnx\SwissCantons\Cantons;

$cantons = (new Cantons)->getAllAsArray('en');

$cantonsAsArray = $cantons->getAllAsArray(); 

// var_dump($cantonsAsArray);
// [
//     'ZH' => 'Zurich', 
//     'GE' => 'Geneva',
//     // ...
// ]

Security

If you discover a security vulnerability within this package, please send an e-mail to hello@stefanzweifel.io. All security vulnerabilities will be promptly addressed.

Data Sources

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Credits

License

This project is licensed under the MIT License - see the LICENSE file for details.

You can’t perform that action at this time.