Ceci est une ancienne révision du document !


Implémentation de l'API en PHP

L'implémentation de l'API se présente sous la forme d'un fichier unique qui comprend les différentes classes de l'API ainsi que des classes utilitaires. La dernière version stable de ce fichier est disponible à cette adresse : http://dataexport.scrutari.net/impl/php/scrutaridataexport.txt (remplacez .txt per .php pour l'exécution)

Toutes les classes et constantes de ce fichier commence par le suffixe SDE_ afin de minimiser le risque de conflits de noms avec d'autres classes PHP. Cette implémentation fonctionne avec PHP 5. Elle est sous licence MIT.

Le dépôt subversion permet d'obtenir la dernière version du fichier ainsi que des exemples d'utilisation

svn co http://depot.exemole.fr/svn/web/apps/scrutari.net/php

Exemple du site www.comedie.org

L'exemple suivant est celui du site www.comedie.org. Celui-ci est en Wordpress. La structure des données de Wordpress étant assez simple, il a été choisi d'écrire un script interrogeant directement les données de la base MySQl plutôt que de passer par une procédure plus lourde d'extension Wordpress.

Outre le fichier scrutaridataexport.php, cette extraction est basé sur deux fichiers : comedie.scrutari-data.php qui comprend la configuration de l'accès (voir http://dataexport.scrutari.net/impl/php/comedie.scrutari-data.txt et ci-dessous) et comedie.php qui comprend l'extraction proprement dite (voir http://dataexport.scrutari.net/impl/php/comedie.txt).

Fichier comedie.scrutari-data.php

Ce fichier contient les informations de la configuration (accès à la base de données).

<?php
//Indication que les données transmises sont du XML
header("content-type: text/xml;charset=UTF-8");
 
// Nom de la base de données de WordPress.
define('DB_NAME', '*');
 
// Utilisateur de la base de données MySQL.
define('DB_USER', '*');
 
// Mot de passe de la base de données MySQL.
define('DB_PASSWORD', '*');
 
// Adresse de l'hébergement MySQL.
define('DB_HOST', 'localhost');
 
// Jeu de caractères à utiliser par la base de données
define('DB_CHARSET', 'utf8');
 
// Chaine vide pour SCRUTARIDATA_PATH, les données XML sont affichées directement en sortie
define('SCRUTARIDATA_PATH', '');
 
// Appel de comedie.php
require("comedie.php");

Si on avait voulu que l'extraction soit enregistrée dans un fichier, on aurait cette définition pour SCRUTARIDATA_PATH :

define('SCRUTARIDATA_PATH', '/path/to/directory/comedie.scrutari-data.xml');
scrutaridata/exportapi/php.1473257618.txt.gz · Dernière modification: 2016/09/07 16:13 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0