

PHP Swiss Cantons
source link: https://github.com/stefanzweifel/php-swiss-cantons
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

PHP Swiss Cantons
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 [email protected]. 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.
Recommend
-
148
During my day job I’ve been working on re-factoring some the internals of Juju to reverse the trend of a growing
-
126
vinux Vim config just like my panties,But there are chikans(痴汉) want to steal my panties!!!
-
37
Table of contents Overview
-
48
A while back, there was a discussion comparing the performance of using the hashbrown crate (based on...
-
42
htrace.sh Created by trimstray and
-
34
As someone who’s uploaded hundreds of thousands of items to the Internet Archive’s stacks and who has probably done a few million transactions wi...
-
17
Awhile ago I started writing an identity aware proxy (IAP) to secure a binary with authentication. However, what started as a minimal auth layer has grown with features. What I have come to appreciate is that the reverse...
-
23
A previous Fedora Magazine article covered tracking your time and tasks . Another introduced
-
14
Hello from the Swiss Alps, where we have been working from home and avoiding all but essential trips out like so many others over the last few months. The current situation has led to the cancellation of several communi...
-
5
js-swiss-cantons Find any Swiss canton by its abbreviation, name, or by the zipcode of any Swiss city. (This is a port of
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK