upgradelabs / swiss-zip-code-resolver
A resolver for Swiss zip codes (PLZ).
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/upgradelabs/swiss-zip-code-resolver
README
⚠️ This project is a fork of onlime/swiss-zip-code-resolver
Onlime's Swiss Zip Code Resolver
Copyright (c) Onlime GmbH, https://www.onlime.ch
A simple zip code lookup library to get information like city, commune, canton, and coordinates (LV03) for a Swiss zip code (PLZ).
Installation
PHP versions 5.6 up to PHP 7.1 are currently supported.
The zip extension is required. PHP should be compiled with zip support by using the --enable-zip configure option.
It is recommended to use Composer to install the library.
$ composer require upgradelabs/swiss-zip-code-resolver
You can also use any other PSR-4 compliant autoloader.
Usage
- Create
Resolverobject
$Resolver = new Upgradelabs\SwissZipCodeResolver\Resolver();
- Call
lookup()method
$Result = $Resolver->lookup($zipcode);
- Sample of a
Resultobject:
Upgradelabs\SwissZipCodeResolver\Result Object
(
[zipcode] => 8046
[city] => Zürich
[extraDigit] => 0
[commune] => Zürich
[bfsNr] => 261
[canton] => ZH
[east] => 680711
[north] => 252925
[validZipCode] => 1
)
- You may choose from 5 different return types. The types are array, object, json, serialize and xml. By default it is object. If you want to change that call the format method before calling the parse method or provide the format to the constructor. If you are not using object and an error occurs, then exceptions will not be trapped within the response and thrown directly.
$Resolver->setFormat('json');
$Resolver = new Upgradelabs\SwissZipCodeResolver\Resolver('json');
- The
Resolversupports the fluent interface on its setters, e.g.:
$Resolver = new Upgradelabs\SwissZipCodeResolver\Resolver();
$Resolver
->setCachePath('/tmp')
->setCacheTime(86400)
->setFormat('json');
$json = $Resolver->lookup(8046);
Credits
The data is provided and updated by GEO.ADMIN.CH:
- GEO.ADMIN.CH - Geoinformationsplattform der Schweizerischen Eidgenossenschaft
- Schweizerisches Katasterwesen - Amtliches Ortschaftenverzeichnis
- PLZO_CSV_LV03.zip
Issues
Please report any issues via https://github.com/Upgradelabs/SwissZipCodeResolver/issues
LICENSE and COPYRIGHT
Copyright (c) 2007 - 2016 Onlime Webhosting (https://www.onlime.ch)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.