Ce module permet d'intégrer facilement une classe permettant le dialogue avec l'API AfpaConnect.
Packagist: guillian/afpaconnect-interface.
- 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)
composer require guillian/afpaconnect-interface
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; }
Une nouvelle variable $this->api
est maintenant disponible dans tous vos services.
$response = $this->api->post('register', [
'username' => '123456789',
'password' => 'test'
]);
// La réponse est au format JSON.
var_dump(json_decode($response));
$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.