pardalsalcap/linter-locations 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

pardalsalcap/linter-locations

最新稳定版本:v5.0.0

Composer 安装命令:

composer require pardalsalcap/linter-locations

包简介

Add on to Linter to manage Geolocations

README 文档

README

pardalsalcap/linter-locations adds a geographic data model and Filament resources for continents, countries, communities, states, cities, and addresses.

It is designed to work as an add-on for Laravel applications that already use Filament.

Compatibility

  • PHP ^8.2
  • Laravel ^11.0|^12.0
  • Filament ^5.0

Installation

Install the package:

composer require pardalsalcap/linter-locations

Publish and run the migrations:

php artisan vendor:publish --tag="linter-locations-migrations"
php artisan migrate

Publish the config file if you want to adjust locales or search behavior:

php artisan vendor:publish --tag="linter-locations-config"

Default config:

return [
    'available_locales' => [
        'ca' => 'Català',
        'es' => 'Castellano',
        'en' => 'English',
    ],
    'use_scoped_search' => true,
];

Install Command

The package ships with an install command:

php artisan linter-locations:install

The command asks for confirmation before each optional step:

  1. Populate the database with starter geographic data.
  2. Create the Filament resource wrappers inside your application.

If you confirm the resource step, the command creates these files in app/Filament/Resources when they do not already exist:

  • ContinentResource.php
  • CountryResource.php
  • CommunityResource.php
  • StateResource.php
  • CityResource.php
  • AddressResource.php

The generated classes extend the package resources, so you can start using them immediately and still customize them later in your app.

Filament Resources

The package provides base Filament resources for:

  • Continents
  • Countries
  • Communities
  • States
  • Cities
  • Addresses

The generated wrapper classes are intentionally minimal:

<?php

namespace App\Filament\Resources;

class ContinentResource extends \Pardalsalcap\LinterLocations\Resources\ContinentResource
{
}

If you prefer to create them manually, examples are available in resources/stubs.

Database Seeder Data

The install command can preload:

  • Continents
  • Countries
  • Spanish communities
  • Spanish states
  • Spanish cities

This gives a practical starting point for projects that need location data immediately.

Traits

HasAddresses

Use Pardalsalcap\LinterLocations\Traits\HasAddresses on any Eloquent model that should be linked to addresses.

Example:

use Illuminate\Database\Eloquent\Model;
use Pardalsalcap\LinterLocations\Traits\HasAddresses;

class User extends Model
{
    use HasAddresses;
}

Once applied, the model can attach, detach, and sync addresses through the provided relationship helpers.

Address Relation Manager

The package also includes AddressableRelationManager, which can be attached to your own Filament resources when the model uses HasAddresses.

Example:

<?php

namespace App\Filament\Resources;

use Filament\Resources\Resource;
use Pardalsalcap\LinterLocations\Resources\AddressResource\RelationManagers\AddressableRelationManager;

class UserResource extends Resource
{
    public static function getRelations(): array
    {
        return [
            AddressableRelationManager::class,
        ];
    }
}

Translations

You can publish the translation files with:

php artisan vendor:publish --tag="linter-locations-translations"

Published translations will be available under:

resources/lang/vendor/linter-locations

The package currently includes translation files for English and Spanish.

Credits

License

The MIT License (MIT). See LICENSE.md.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-11-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固