znck/cities

v0.1.4 2016-09-29 11:02 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:31:37 UTC


README

Laravel 提供 city 列表。

Cities

StyleCI Status Build Status Coverage Status Software License Packagist Latest Version Issues

安装

需要 PHP 7.0+。

要获取 cities 的最新版本,只需使用 Composer 引入项目

$ composer require znck/cities

当然,您也可以手动更新 require 块并运行 composer update

{
    "require": {
        "znck/cities": "^0.1.2"
    }
}

一旦安装了 Cities,您需要注册其服务提供者。打开 config/app.php 并将 Znck\Cities\CitiesServiceProvider::class 添加到 providers 键。您的 config/app.php 应该如下所示。

<?php return [
  // ...
  'providers' => [
    // ....
    Znck\Cities\CitiesServiceProvider::class,
  ]
  // ...
];

使用

  • 在您的 Eloquent 模型中使用 City 特性。
<?php namespace App;

use Illuminate\Database\Eloquent\Model;
use Znck\Cities\City as CityTrait;

class City extends Model {
  use CityTrait;
}
  • Cities 提供了命令 (php artisan cities:update) 用于更新数据库中的列表。

配置

城市和州的表名是必需的。默认使用 citiesstates,但您可以覆盖这些。

要开始,您需要发布所有供应商资产

php artisan vendor:publish --provider='Znck\Cities\CitiesServiceProvider'

这将创建一个您可以在其中修改以设置配置的 config/cities.php 文件。同时,请确保检查此包中原始配置文件在发布之间的更改。

约定

期望的架构

Schema::create('countries', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('code', 2)->unique();
    $table->timestamps();
});

Schema::create('states', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('code', 5)->unique();
    $table->unsignedInteger('country_id');
    $table->timestamps();

    $table->foreign('country_id')->references('id')->on('countries');
});

Schema::create('cities', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('code', 10)->unique();
    $table->unsignedInteger('state_id');
    $table->timestamps();

    $table->foreign('state_id')->references('id')->on('states');
});

开发计划

  • 创建最小化工作包。
  • 添加迁移。
  • 集成 znck/stateznck/countries
  • 添加印度的各大城市。
  • 添加所有 23 种语言的翻译。
  • 添加世界各大城市。

许可证

Cities 在 MIT 许可证 (MIT) 下授权。