porsi haji checker 는 Hajj 부분 번호를 확인하기 위한 간단한 라이브러리이자 명령줄 인터페이스(CLI) 기반 유틸리티입니다. 결과 출력은 JSON 데이터입니다. 이 유틸리티는 웹 사이트 페이지 https://haji.kemenag.go.id/v3/node/955358의 CLI 버전으로 간주될 수 있습니다.
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 SPL(표준 PHP 라이브러리), 즉 DOMDocument 및 DOMXPath를 사용하여 haji.kemenag.go.id 웹사이트에서 얻은 HTML 페이지를 구문 분석합니다.
데모는 https://porsihaji.rioastamal.net에서 볼 수 있습니다.
porsi haji checker 설치하려면 Composer를 사용하거나 Github 페이지에서 tarball을 다운로드할 수 있습니다.
시스템에 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을 사용하거나 Github 페이지에서 tarball을 다운로드할 수 있습니다.
$ git clone https://github.com/rioastamal/porsi-haji-checker.git
$ cd porsi-haji-checker
porsi haji checker 유틸리티나 라이브러리로 사용할 수 있습니다.
porsi haji checker 유틸리티의 위치는 bin/ 디렉토리에 있습니다. 이 유틸리티에는 Hajj 부분 번호 형식의 인수가 필요합니다. 여기에 예가 있습니다.
$ 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 스트림을 통해 Hajj 부분 번호를 제공할 수도 있습니다. 여기에 예가 있습니다.
$ 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"
}
다음은 PHP 스크립트에서 porsi haji checker 라이브러리를 사용하는 예입니다. Composer의 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)
Rio Astamal이 작성한 porsi haji checker 라이브러리 [email protected]
이 라이브러리는 MIT 라이센스 http://opensource.org/licenses/MIT를 사용합니다.