anouar-touati/algerian-cities-laravel

一个用于简化在 Laravel 中处理阿尔及利亚城市数据集的包

v1.2.1 2023-08-29 12:48 UTC

This package is auto-updated.

Last update: 2024-09-29 15:02:29 UTC


README

厌倦了在每一个项目中重复相同的步骤来添加地址到你的表单。我也遇到了同样的挫折,这就是我制作这个包的原因,只需几个命令就能让你开始使用。

致谢

数据集取自这个仓库

状态

此包仍在开发中。请自行决定使用。你可以为错误或你希望在将来包含的功能打开一个问题。

安装

composer require  anouar-touati/algerian-cities-laravel
php artisan migrate
php artisan db:seed --class="AnouarTouati\AlgerianCitiesLaravel\Database\Seeders\AlgerianCitiesSeeder"

如果自动发现对你不起作用,请将以下内容添加到 config/app.php 中的 providers 下

AnouarTouati\AlgerianCitiesLaravel\AlgerianCitiesServiceProvider::class

用法

API

调用这些 JSON 端点

响应格式

[
    {
        "wilaya_code": 3,
        "wilaya_name": "الأغواط",
        "wilaya_name_ascii": "Laghouat"
    },
    {
        "wilaya_code": 4,
        "wilaya_name": "أم البواقي",
        "wilaya_name_ascii": "Oum El Bouaghi"
    },

]

响应格式

[
    {
        "daira_name": "المنيعة",
        "daira_name_ascii": "El Menia"
    },
    {
        "daira_name": "المنصورة",
        "daira_name_ascii": "Mansourah"
    },

]

响应格式

[
    {
        "commune_name": "بئر مراد رايس",
        "commune_name_ascii": "Bir Mourad Rais"
    },
    {
        "commune_name": "بئر خادم",
        "commune_name_ascii": "Birkhadem"
    },

]

响应格式

[
    {
        "post_code": 35000,
        "post_name": "بومرداس - القباضة الرئيسية",
        "post_name_ascii": "Boumerdes",
        "post_address": "بومرداس - حي 408 مسكن",
        "post_address_ascii": "Cité 408 Logements Boumerdes"
    },
    {
        "post_code": 35007,
        "post_name": "بومرداس - فرانتز فانون",
        "post_name_ascii": "Boumerdes Frantz Fanon",
        "post_address": "بومرداس - حي 350 مسكن",
        "post_address_ascii": "Cité 350 Logements Boumerdes"
    },

]

通过 AlgerianCitiesFacade 使用

您可以通过在文件顶部包含此行来使用 API 控制器构建的方法

use AnouarTouati\AlgerianCitiesLaravel\Facades\AlgerianCitiesFacade;

所有这些方法都返回一个 Collection

内置地址 Blade 组件

您可以将此组件添加到您的表单中,该组件将提供用于选择地址的 HTML 下拉列表以及填充它们的逻辑。

您可以通过传递值到 :select_style:label_style 属性来添加样式,如下所示。

您还需要在关闭 body 标签之前使用具有 scripts 词语的 Blade 指令 @stack(如果您还没有的话),如下所示 @stack('scripts')

示例

 <form action="/formsubmit" method="get">
        <p>Please fill this form</p>

        <x-algerian-citites-laravel::address 
            {{-- The styles below are hideous xD, they are just for demonstartion purposes --}}
            :select_style="'background:green;color:white;'" 
            :label_style="'display:block;color:blue;'"
            />

        <button type="submit">Submit</button>
</form>

本地化

默认情况下,地址表单提供英语、法语和阿拉伯语的翻译。

如果您想覆盖默认翻译,您可以这样做,通过运行以下命令将文件发布到 lang/vendor/algerian-cities-laravel

php artisan vendor:publish --tag=algerian-cities-laravel-localization