wafto / laravel-sepomex
墨西哥邮政服务(Sepomex)非官方Laravel库
v3.0.0
2024-07-09 23:14 UTC
Requires
- php: ^8.2
- ext-json: *
- illuminate/database: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.16
- mockery/mockery: ^1.4
- orchestra/testbench: ^8.23
- phpunit/phpunit: ^10.0
README
简介
本包为Laravel提供(非官方)墨西哥邮政编码SEPOMEX信息。
安装
您可以通过运行以下命令来安装此包
composer require wafto/laravel-sepomex
设置
为了设置此包,需要以下步骤。
1) 配置文件
使用以下命令将配置文件sepomex.php
发布到app/config
下
php artisan vendor:publish --provider="Wafto\Sepomex\SepomexServiceProvider"
在此可以更改配置,如table_name
和source_file
。
3) 源文件
下载并复制文件datos.gob.mx到storage
目录下,命名为cpdescarga.txt
,注意此路径应与配置文件匹配。
4) 迁移和导入
配置文件路径和表名后,运行迁移和导入命令。
php artisan migrate
php artisan sepomex:import --chunk=50
此步骤可能需要一些时间才能完成。
使用方法
仅注入契约Wafto\Sepomex\Contracts\SepomexContract
或使用app(Wafto\Sepomex\Contracts\SepomexContract::class)
来获取单例实例。
... use Wafto\Sepomex\Contracts\SepomexContract; class SepomexController extends Controller { public function postal(SepomexContract $sepomex, $postal) { return $sepomex->getByPostal($postal); } public function states(SepomexContract $sepomex) { return $sepomex->getStates(); } }
第二种选择是使用Sepomex外观,通过编辑config/app.php
并添加别名。
'aliases' => [ ... 'Sepomex' => Wafto\Sepomex\Facades\Sepomex::class, ]
然后在应用程序的任何地方使用。
... class SepomexController extends Controller { public function postal($postal) { return Sepomex::getByPostal($postal); } public function states() { return Sepomex::getStates(); } }
重要提示
数据库文件的第一行带有限制性条款。
墨西哥国家邮政编码目录由墨西哥邮政制作并提供免费用于个人使用,禁止全部或部分商业化,也不允许在任何情况下向第三方分发。
但是该数据库已在LIBRE USO MX许可下发布,因此希望将来文件中的条款会改变。
来源(Fuente)
"Catálogo Nacional de Códigos Postales"由墨西哥邮政发布。于2017年11月6日查询https://datos.gob.mx/busca/dataset/catalogo-nacional-de-codigos-postales。
许可
Laravel Sepomex是开源软件,许可协议为MIT许可。