guillian / afpaconnect-interface
Requires
- ext-json: *
- cache/cache: ^1.0
- firebase/php-jwt: ^5.3
- guzzlehttp/guzzle: ^7.3
- symfony/cache: ^5.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-04-25 09:32:26 UTC
README
Ce module permet d'intégrer facilement une classe permettant le dialogue avec l'API AfpaConnect.
Packagist: guillian/afpaconnect-interface.
Installation
Prérequis
- php >= 7.4
- composer >= 2.0
- PHP7.4-http
- PHP7.4-curl
- PHP7.4-json
- PHP7.4-dom
- PHP7.4-xml
- PHP7.4-mbstring
- PHP7.4-pdo
- (PHP7.4-libxml)
Procédure
composer require guillian/afpaconnect-interface
Projets AFPA
Ce petit guide va vous expliquer comment intégrer
-
Dans un invite de commande, se placer à la racine de votre projet.
-
Installer le module avec composer
composer require guillian/afpaconnect-interface
. -
Utiliser l'autoloader de composer:
Pour cela, dans le fichier
DEVS/web/route.php
placer après lesession_start()
.require $GLOBALS_INI['PATH_HOME'].$GLOBALS_INI['PATH_CLASS'].'vendor/autoload.php';
Cette autoloader permet de charger dynamiquement les classes se trouvant dans le dossier vendor.
-
Retoucher le fichier
DEVS/modules/initialize.php
afin d'inclure globalement l'API Helper dans tous les services.- Avant le début de la classe, ajouter le use:
<?php require_once "database.php"; require_once "security.php"; use Guillian\AfpaConnect\AfpaConnect; /** * Class Initialize | file initialize.php
- Ajouter ces deux propriétés
public AfpaConnect $api; public static $_apiInstance = null;
- Dans le constructeur, créer une instance de la classe.
// Instance one time (singleton) AfpaConnect Interface Helper $this->api = self::getApi();
- Ajouter la méthode permettant de récupérer l'instance de la classe AfpaConnect
/** * Get AfpaConnect Interface Helper instance once. * * @return AfpaConnect */ public static function getApi(): AfpaConnect { if (is_null(self::$_apiInstance)) { $conf = Configuration::getGlobalsINI(); $publicKey = file_get_contents($conf['PATH_HOME'].$conf['API_PUBLIC_KEY']); self::$_apiInstance = new AfpaConnect($conf['API_HOSTNAME'], "afpanier", $publicKey); } return self::$_apiInstance; }
Comment l'utiliser ?
Une nouvelle variable $this->api
est maintenant disponible dans tous vos services.
Exemple d'un POST
$response = $this->api->post('register', [ 'username' => '123456789', 'password' => 'test' ]); // La réponse est au format JSON. var_dump(json_decode($response));
Exemple d'un GET
$response = $this->api->get('user', [ 'username' => '123456789' ]); // La réponse est au format JSON. var_dump(json_decode($response));
Se référer à la documentation afin de connaître la liste des routes.