porsi haji checker عبارة عن مكتبة بسيطة بالإضافة إلى أداة مساعدة تعتمد على واجهة سطر الأوامر (CLI) للتحقق من أرقام أجزاء الحج. الناتج الناتج هو بيانات JSON. يمكن اعتبار هذه الأداة المساعدة إصدار CLI لصفحة الموقع https://haji.kemenag.go.id/v3/node/955358.
فيما يلي كيفية استخدام porsi haji checker كأداة مساعدة لـ CLI.
$ php bin/porsi-haji-checker.php 3000837XXX
{
" nomor_porsi " : " 3000837XXX " ,
" nama " : " HAMBA ALLAH INDONESIA " ,
" kabupaten_kota " : " KOTA SURABAYA " ,
" provinsi " : " JAWA TIMUR " ,
" kuota " : " 12345 " ,
" posisi_porsi_kuota " : " 12233 " ,
" perkiraan_tahun_berangkat_hijriah " : " 1444 " ,
" perkiraan_tahun_berangkat_masehi " : " 2023 "
}
يستخدم porsi haji checker مكتبة PHP القياسية (SPL)، وهي DOMDocument وDOMXPath لتحليل صفحات HTML التي تم الحصول عليها من موقع haji.kemenag.go.id.
العرض التوضيحي متاح على https://porsihaji.rioastamal.net.
لتثبيت porsi haji checker ، يمكنك استخدام Composer أو تنزيل tarball على صفحة Github.
تأكد من تثبيت composer
على نظامك. ثم قم بتشغيل الأمر التالي للتثبيت.
$ composer create-project -vvv rioastamal/porsi-haji-checker porsi-haji-checker
$ cd porsi-haji-checker
إذا كنت تريد استخدام الإصدار الإنتاجي، أضف خيار --no-dev
.
$ composer create-project -vvv --no-dev rioastamal/porsi-haji-checker porsi-haji-checker
يمكن للتثبيت اليدوي استخدام Git أو تنزيل tarball من صفحة Github.
$ git clone https://github.com/rioastamal/porsi-haji-checker.git
$ cd porsi-haji-checker
يمكن استخدام porsi haji checker كأداة مساعدة أو مكتبة.
موقع الأداة المساعدة porsi haji checker موجود في الدليل bin/. تتطلب هذه الأداة المساعدة وسيطة على شكل رقم جزء الحج. هنا مثال.
$ php bin/porsi-haji-checker.php 3000837XXX
{
"nomor_porsi": "3000837XXX",
"nama": "HAMBA ALLAH INDONESIA",
"kabupaten_kota": "KOTA SURABAYA",
"provinsi": "JAWA TIMUR",
"kuota": "12345",
"posisi_porsi_kuota": "12233",
"perkiraan_tahun_berangkat_hijriah": "1444",
"perkiraan_tahun_berangkat_masehi": "2023"
}
وبصرف النظر عن تمرير الوسائط، يمكنك أيضًا توفير رقم جزء الحج عبر تدفق STDIN. هنا مثال.
$ echo "3000837XXX" | php bin/porsi-haji-checker.php
{
"nomor_porsi": "3000837XXX",
"nama": "HAMBA ALLAH INDONESIA",
"kabupaten_kota": "KOTA SURABAYA",
"provinsi": "JAWA TIMUR",
"kuota": "12345",
"posisi_porsi_kuota": "12233",
"perkiraan_tahun_berangkat_hijriah": "1444",
"perkiraan_tahun_berangkat_masehi": "2023"
}
فيما يلي مثال على استخدام مكتبة porsi haji checker في برنامج PHP النصي. على افتراض أنك تستخدم أداة التحميل التلقائي للملحن.
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
// Jika tidak menggunakan autoload cukup require dua script berikut
// require __DIR__ . '/src/NomorHajiScraper.php
// require __DIR__ . '/src/NomorHajiParser.php
use RioAstamal Kemenag NomorHajiScraper ;
use RioAstamal Kemenag NomorHajiParser ;
$ nomorPorsi = ' 3000837XXX ' ;
$ scrapper = NomorHajiScraper:: create ( $ nomorPorsi );
$ parser = NomorHajiParser:: create ( $ scrapper );
$ jsonInfoPorsi = $ parser -> parse ();
print_r ( json_decode ( $ jsonInfoPorsi ), JSON_OBJECT_AS_ARRAY );
/* output
Array
(
[nomor_porsi] => 3000837XXX
[nama] => HAMBA ALLAH INDONESIA
[kabupaten_kota] => KOTA SURABAYA
[provinsi] => JAWA TIMUR
[kuota] => 12345
[posisi_porsi_kuota] => 12233
[perkiraan_tahun_berangkat_hijriah] => 1444
[perkiraan_tahun_berangkat_masehi] => 2023
)
*/
تأكد من تثبيت مكونات التطوير عن طريق تشغيل أمر الملحن التالي.
$ composer install -vvv
سيقوم هذا الأمر بتثبيت المكونات اللازمة للتطوير. ثم يمكن تشغيل اختبار الوحدة باستخدام الأمر التالي.
$ ./vendor/bin/phpunit --debug
PHPUnit 6.5.14 by Sebastian Bergmann and contributors.
Test 'RioAstamalKemenagTestNomorHajiParserTest::testReturnJsonSuccess' started
Test 'RioAstamalKemenagTestNomorHajiParserTest::testReturnJsonSuccess' ended
Test 'RioAstamalKemenagTestNomorHajiParserTest::testReturnJsonButEmpty' started
Test 'RioAstamalKemenagTestNomorHajiParserTest::testReturnJsonButEmpty' ended
Test 'RioAstamalKemenagTestNomorHajiParserTest::testScraperReturnError' started
Test 'RioAstamalKemenagTestNomorHajiParserTest::testScraperReturnError' ended
Time: 49 ms, Memory: 4.00MB
OK (3 tests, 15 assertions)
مكتبة porsi haji checker من تأليف ريو أستمال [email protected]
تستخدم هذه المكتبة ترخيص MIT http://opensource.org/licenses/MIT.