jhonoryza/laravel-prayertime

1.1.2 2024-07-15 14:44 UTC

This package is auto-updated.

Last update: 2024-09-25 03:58:55 UTC


README

Total Downloads Latest Stable Version License

安装

composer require jhonoryza/laravel-prayertime

运行迁移

php artisan migrate

这将创建3个表格:省份、城市和祷告时间表

发布配置文件

php artisan vendor:publish --tag=prayertime-config

来源

您可以通过配置配置文件 prayertime.php 从以下来源中选择一个

  1. 手动计算:参考自 prayertimes.org

  2. 爬取 bimasislam kemenag 网站 https://bimasislam.kemenag.go.id/jadwalshalat

  3. myquran.com 的 API(之前域名 https://api.banghasan.com/

同步预定义的城市和省份数据

从来源获取城市数据并将其保存到数据库中

php artisan pray:sync-city

同步祷告时间

从来源获取祷告时间并将其保存到数据库中

php artisan pray:sync-times

通用用法

public function getPrayerTimes(string $provinceId, string $cityId, int $month, int $year): array

示例

<?php

Route::get('/time', function (PrayerTime $prayer) {
    $prayerTimes = $prayer->getPrayerTimes(
        provinceId: '', // Kab Bandung province external id for manual calculation or when using kemenag use this c20ad4d76fe97759aa27a0c99bff6710
        cityId: '3204', // Kab Bandung external id for manual calculation or when using kemenag use this 0777d5c17d4066b82ab86dff8a46af6f
        month: 6,
        year: 2024
    );
    foreach ($prayerTimes as $index => $times) {
        foreach ($times as $key => $prayerTime) {
            if (in_array($key, ['city_external_id', 'prayer_at'])) {
                continue;
            }
            $times[$key] = $prayerTime->format('H:i');
        }

        $prayerTimes[$index] = $times;
    }

    return response()->json([
        'data' => $prayerTimes,
    ]);
});

手动计算用法

手动计算

安全

如果您发现了关于安全性的错误,请通过电子邮件 jardik.oryza@gmail.com 联系,而不是使用问题跟踪器。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件