2017 © Pedro Peláez
 

library cities

A list of cities

image

znck/cities

A list of cities

  • Monday, December 12, 2016
  • by znck
  • Repository
  • 1 Watchers
  • 2 Stars
  • 1,088 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Cities

A cities list provider for Laravel., (*1)

Cities, (*2)

StyleCI Status Build Status Coverage Status Software License Packagist Latest Version Issues , (*3)

Installation

Either PHP 7.0+ is required., (*4)

To get the latest version of cities, simply require the project using Composer:, (*5)

$ composer require znck/cities

Instead, you may of course manually update your require block and run composer update if you so choose:, (*6)

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

Once Cities is installed, you have to register its service provider. Open config/app.php and add Znck\Cities\CitiesServiceProvider::class to providers key. Your config/app.php should look like this., (*7)

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

Usage

<?php namespace App;

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

class City extends Model {
  use CityTrait;
}
  • Cities provides command (php artisan cities:update) to update list in database.

Configuration

Table names for cities and states are required. By default cities and states are used, but you can override these., (*8)

To get started, you'll need to publish all vendor assets:, (*9)

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

This will create a config/cities.php file in your app that you can modify to set your configuration. Also, make sure you check for changes to the original config file in this package between releases., (*10)

Conventions

Expected schema:, (*11)

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');
});

Development plan

  • [x] Create minimal working package.
  • [ ] Add migrations.
  • [ ] Integrate znck/state and znck/countries.
  • [ ] Add major cities of India.
  • [ ] Add translations in all 23 languages.
  • [ ] Add major cities of World.

License

Cities is licensed under The MIT License (MIT)., (*12)

The Versions