承接 jszdavid/laravel-world 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jszdavid/laravel-world

Composer 安装命令:

composer require jszdavid/laravel-world

包简介

A Laravel package which provides a list of the countries, states and cities based on nnjeim/world

README 文档

README

A Laravel package which provides a list of the countries, states and cities based on nnjeim/world.

Installation

  1. Install the package
composer require jszd2022/laravel-world
  1. Publish assets
php artisan vendor:publish --provider="JSzD\World\WorldServiceProvider"
  1. Migrate
php artisan migrate
  1. Seed the database
php -d memory_limit=512M artisan db:seed --class=WorldSeeder

Configuration

The package comes with a default configuration file. You can customize the table names, API route prefix, and filter which countries to seed.

// config/laravel-world.php

return [
    'countries' => [
        'only' => null,   // Array of ISO2 codes to include (e.g., ['US', 'GB'])
        'except' => null, // Array of ISO2 codes to exclude
    ],

    'routes' => [
        'enabled' => true,
        'prefix' => 'api',
    ],

    'migrations' => [
        'countries' => [
            'table_name' => 'laravel-world-countries',
        ],
        'states' => [
            'table_name' => 'laravel-world-states',
        ],
        'cities' => [
            'table_name' => 'laravel-world-cities',
        ],
    ],
    
    'cache_ttl' => 604800, // 1 week
];

Usage

PHP API

You can use the World facade to retrieve countries, states, and cities.

Retrieve Countries

use JSzD\World\Facades\World;

// Get all countries (default fields: id, name, iso2)
$countries = World::countries([])->data;

// Get countries with specific fields and search
$countries = World::countries([
    'fields' => 'id,name,iso2,phone_code',
    'search' => 'United',
])->data;

// Filter countries
$countries = World::countries([
    'filters' => [
        'iso2' => 'US'
    ]
])->data;

Retrieve States

// Get states for a country
$states = World::states([
    'filters' => [
        'country_code' => 'US'
    ]
])->data;

Retrieve Cities

// Get cities for a state
$cities = World::cities([
    'filters' => [
        'state_id' => 123
    ]
])->data;

// Get cities for a country
$cities = World::cities([
    'filters' => [
        'country_code' => 'US'
    ]
])->data;

Caching

You can chain the withCaching() method to cache the result of the query.

$countries = World::withCaching()->countries([])->data;

API Endpoints

If enabled in the configuration, the following API endpoints are available:

Method Endpoint Description
GET /api/countries List all countries
GET /api/countries/{country_code}/states List states for a country
GET /api/countries/{country_code}/cities List cities for a country

Query Parameters

All endpoints support the following query parameters:

  • fields: Comma-separated string of fields to return (e.g., id,name).
  • filters[field]: Filter by a specific field.
  • search: Search by name (using LIKE %search%).

Example: GET /api/countries?fields=name,phone_code&search=Hung

Models

The package provides the following Eloquent models:

  • JSzD\World\Models\Country
  • JSzD\World\Models\State
  • JSzD\World\Models\City

You can use these models to define relationships in your own models:

public function country()
{
    return $this->belongsTo(\JSzD\World\Models\Country::class);
}

License

The MIT License (MIT). Please see License File for more information.

jszdavid/laravel-world 适用场景与选型建议

jszdavid/laravel-world 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel」 「states」 「countries」 「cities」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 jszdavid/laravel-world 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jszdavid/laravel-world 我们能提供哪些服务?
定制开发 / 二次开发

基于 jszdavid/laravel-world 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 38
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-12