porsi haji checker เป็นไลบรารีที่เรียบง่ายรวมถึงยูทิลิตี้ที่ใช้ Command-Line Interface (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 ใช้ Standard PHP Library (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 สมมติว่าคุณกำลังใช้ Composer's Autoloader
<?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 เขียนโดย Rio Astamal [email protected]
ห้องสมุดนี้ใช้ใบอนุญาต MIT http://opensource.org/licenses/MIT