porsi haji checker est une bibliothèque simple ainsi qu'un utilitaire basé sur une interface de ligne de commande (CLI) pour vérifier les numéros de portions du Hajj. La sortie résultante est des données JSON. Cet utilitaire peut être considéré comme la version CLI de la page du site Web https://haji.kemenag.go.id/v3/node/955358.
Voici comment utiliser porsi haji checker comme utilitaire 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 utilise la bibliothèque PHP standard (SPL), à savoir DOMDocument et DOMXPath pour analyser les pages HTML obtenues à partir du site Web haji.kemenag.go.id.
La démo est disponible sur https://porsihaji.rioastamal.net.
Pour installer porsi haji checker , vous pouvez utiliser Composer ou télécharger l'archive tar sur la page Github.
Assurez-vous que composer
est installé sur votre système. Exécutez ensuite la commande suivante pour installer.
$ composer create-project -vvv rioastamal/porsi-haji-checker porsi-haji-checker
$ cd porsi-haji-checker
Si vous souhaitez utiliser la version de production, ajoutez l'option --no-dev
.
$ composer create-project -vvv --no-dev rioastamal/porsi-haji-checker porsi-haji-checker
L'installation manuelle peut utiliser Git ou télécharger l'archive tar à partir de la page Github.
$ git clone https://github.com/rioastamal/porsi-haji-checker.git
$ cd porsi-haji-checker
porsi haji checker peut être utilisée comme utilitaire ou comme bibliothèque.
L'emplacement de porsi haji checker se trouve dans le répertoire bin/. Cet utilitaire nécessite un argument sous la forme du numéro de partie du Hajj. Voici un exemple.
$ 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"
}
Outre la transmission d'arguments, vous pouvez également fournir le numéro de partie du Hajj via le flux STDIN. Voici un exemple.
$ 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"
}
Ce qui suit est un exemple d'utilisation de la bibliothèque porsi haji checker dans un script PHP. En supposant que vous utilisez le chargeur automatique 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
)
*/
Assurez-vous que les composants à développer sont installés en exécutant la commande composer suivante.
$ composer install -vvv
Cette commande installera les composants nécessaires au développement. Ensuite, le test unitaire peut être exécuté avec la commande suivante.
$ ./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)
Bibliothèque porsi haji checker écrite par Rio Astamal [email protected]
Cette bibliothèque utilise la licence MIT http://opensource.org/licenses/MIT.