cubes-doo/srbija-naselja

此包最新版本(v1.0.1)没有可用的许可证信息。

塞尔维亚共和国的居民点、市镇、邮政编码和区列表

v1.0.1 2019-05-10 14:42 UTC

This package is auto-updated.

Last update: 2024-09-11 02:15:44 UTC


README

此包提供塞尔维亚共和国的基本居民点数据库。

居民点数据库是基于包含邮政编码列表的维基百科页面制作的:Списак насељених места у Србији Spisak poštanskih brojev u Srbiji

文档

安装

通过运行composer安装包

composer require cubes-doo/srbija-naselja

Laravel 5框架集成

包包含Laravel 5框架的 ServiceProvider和Facade。

如果您使用的是Laravel版本低于5.5,请直接在config/app.php中包含service provider

'providers' => [
    ...,
    CubesDoo\SrbijaNaselja\Laravel\ServiceProvider::class,
]

'aliases' => [
    ...,
    'SrbijaNaselja' => CubesDoo\SrbijaNaselja\Laravel\Facade::class,
]

使用示例

整个包的使用是通过CubesDoo\SrbijaNaselja\SrbijaNaseljaService类实现的

use CubesDoo\SrbijaNaselja\SrbijaNaseljaService as SrbijaNaselja;

或者如果您使用Laravel,可以通过facade使用

use SrbijaNaselja;

或者通过依赖注入

class NekiController
{
    public function nekaAkcija(\CubesDoo\SrbijaNaselja\SrbijaNaseljaService $srbijaNaselja)
}

当导入SrbijaNaselja服务时,您可以使用其方法

SrbijaNaselja::naselja() 获取居民点列表,即关联数组数组,格式如下

[
    [
        'naselje' => 'Лазаревац',
        'postanski_broj' => 11550,
        'okrug' => 'Град Београд',
        'opstina' => 'Лазаревац',
    ],
    ...
]

SrbijaNaselja::naselje(11550) 根据邮政编码获取居民点,格式如下

[
    'naselje' => 'Лазаревац',
    'postanski_broj' => 11550,
    'okrug' => 'Град Београд',
    'opstina' => 'Лазаревац',
]

SrbijaNaselja::opstine() 获取市镇列表,即关联数组数组,格式如下

[
    [
        'postanski_broj' => 11550,
        'okrug' => 'Град Београд',
        'opstina' => 'Лазаревац',
    ],
    ...
]

SrbijaNaselja::opstina(11550) 根据邮政编码获取市镇,格式如下

[
    'postanski_broj' => 11550,
    'okrug' => 'Град Београд',
    'opstina' => 'Лазаревац',
]

SrbijaNaselja::okruzi() 获取区列表,即字符串数组

['Град Београд', 'Јужнобанатски округ', ...]

SrbijaNaselja::okrug(11550) 根据邮政编码获取区的名称

'Град Београд'

拉丁字母

默认情况下,提供基里尔字母名称,如果需要拉丁字母名称,请在调用上述方法之前调用latinica方法

SrbijaNaselja::latinica()->naselja()

或者

//Prebacite jezink na latinicu
SrbijaNaselja::latinica();
//... 
SrbijaNaselja::naselja(); // na latinici je
SrbijaNaselja::opstine(); //na latinici je 
//...
//Prebacite jezik nazad na cirilicu
SrbijaNaselja::cirilica();

在Laravel中,如果设置为'sr',service provider将自动加载'latinica'!

对包的贡献

欢迎每个人帮助改进包。

塞尔维亚共和国居民点数据库

居民点数据库以多种格式(拉丁字母和基里尔字母)存储在文件中

  • data/naselja.sr_Cyrl_RS.php - 基里尔字母的居民点PHP数组
  • data/naselja.sr_Cyrl_RS.csv - 基里尔字母的居民点CSV数组
  • data/naselja.sr_RS.php - 拉丁字母的居民点PHP数组
  • data/naselja.sr_RS.csv - 拉丁字母的居民点CSV数组

CSV格式的文件不再使用,而是作为可能的导入之需而包含。

名称和邮政编码不是100%经过验证的,需要贡献者的帮助。

启动测试

在tests文件夹中编写了PUPUnit测试以供服务和知识库使用。如果您更改数据库文件,请务必运行测试!!!

使用以下命令运行测试:

./vendor/bin/phpunit --bootstrap vendor/autoload.php tests