porsi haji checker es una biblioteca simple y una utilidad basada en interfaz de línea de comandos (CLI) para verificar los números de porciones de Hajj. La salida resultante son datos JSON. Esta utilidad puede considerarse la versión CLI de la página del sitio web https://haji.kemenag.go.id/v3/node/955358.
A continuación se explica cómo utilizar porsi haji checker como una utilidad 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 utiliza la biblioteca PHP estándar (SPL), es decir, DOMDocument y DOMXPath para analizar páginas HTML obtenidas del sitio web haji.kemenag.go.id.
La demostración está disponible en https://porsihaji.rioastamal.net.
Para instalar porsi haji checker , puede usar Composer o descargar el tarball en la página de Github.
Asegúrese de que composer
esté instalado en su sistema. Luego ejecute el siguiente comando para instalar.
$ composer create-project -vvv rioastamal/porsi-haji-checker porsi-haji-checker
$ cd porsi-haji-checker
Si desea utilizar la versión de producción, agregue la opción --no-dev
.
$ composer create-project -vvv --no-dev rioastamal/porsi-haji-checker porsi-haji-checker
La instalación manual puede usar Git o descargar el tarball desde la página de Github.
$ git clone https://github.com/rioastamal/porsi-haji-checker.git
$ cd porsi-haji-checker
porsi haji checker se puede utilizar como utilidad o biblioteca.
La ubicación de porsi haji checker está en el directorio bin/. Esta utilidad requiere un argumento en forma de número de porción del Hajj. He aquí un ejemplo.
$ 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"
}
Además de pasar argumentos, también puede proporcionar el número de porción del Hajj a través de la transmisión STDIN. He aquí un ejemplo.
$ 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"
}
El siguiente es un ejemplo del uso de la biblioteca porsi haji checker en un script PHP. Suponiendo que esté utilizando el cargador automático de Composer.
<?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
)
*/
Asegúrese de que los componentes para el desarrollo estén instalados ejecutando el siguiente comando del compositor.
$ composer install -vvv
Este comando instalará los componentes necesarios para el desarrollo. Luego, la prueba unitaria se puede ejecutar con el siguiente comando.
$ ./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)
Biblioteca porsi haji checker escrita por Rio Astamal [email protected]
Esta biblioteca utiliza la licencia MIT http://opensource.org/licenses/MIT.