115 lines
3.1 KiB
Plaintext
115 lines
3.1 KiB
Plaintext
WebService
|
|
==========
|
|
|
|
- Créer le vhost, voir le fichier VHOST pour les exemples
|
|
|
|
- Installer les librairies avec composer
|
|
|
|
$ composer install
|
|
|
|
- Configurer l'application
|
|
|
|
La config (fichier application.ini) est à placer dans "application/configs/"
|
|
|
|
Exemple de la config dans "docs/config/application.ini"
|
|
(Modifier selon les besoins)
|
|
|
|
- APPLICATION_ENV
|
|
|
|
Différent niveau peuvent être utilisé dans l'application pour gérer les erreurs et le comportement.
|
|
|
|
production
|
|
staging
|
|
development
|
|
testing
|
|
|
|
Cette variable est accessible dans PHP.
|
|
|
|
- Créer les repertoires de données nécessaires
|
|
|
|
[WORKSPACE]/data/backoffice/
|
|
- clients => lien symbolique vers les fichiers clients
|
|
- conso => données à conserver, dossier persistent
|
|
- datafile => lien symbolique vers les fichiers PDF, et autres des partenaires
|
|
- export
|
|
- import
|
|
- log
|
|
- sources => lien symbolique vers les données des sources
|
|
- stats
|
|
- upload
|
|
|
|
|
|
Fonctionnement
|
|
==============
|
|
Obtenir les WSDL
|
|
Pour le service Entreprise
|
|
|
|
- En mode développement : http://hostname/entreprise/version?wsdl-auto
|
|
- Générer le WSDL : http://hostname/entreprise/version?wsdl-generate
|
|
- Utiliser le WSDL généré : http://hostname/entreprise/version?wsdl
|
|
|
|
Pour le service Interne
|
|
|
|
http://hostname/interne/version?wsdl
|
|
|
|
Pour les clients
|
|
|
|
http://hostname/clients/nom_du_client/version?wsdl
|
|
|
|
N.B : Le fichier WSDL est généré automatiquement en appelant
|
|
http://hostname/service?wsdl afin de ne pas provoquer d'erreur
|
|
après une mise en production
|
|
|
|
Pour définir le mode (vhost d'apache)
|
|
SetEnv APPLICATION_ENV "development"
|
|
SetEnv APPLICATION_ENV "production"
|
|
SetEnv APPLICATION_ENV "staging"
|
|
|
|
En appelant l'url http://hostname/service, le contoller de l'application,
|
|
"service" est automatiquement utiliser.
|
|
Tout ce qui est visible dans la class est utilisé par le controller et se
|
|
retrouve visible dans le service (wsdl, requête)
|
|
|
|
Si des fonctions ne doivent pas être rendu visible il faut donc les séparer
|
|
dans un autre controller utilisant une autre class.
|
|
|
|
|
|
Documentation des méthodes et ajout spécial
|
|
===========================================
|
|
|
|
La documentation est géneré en automatique.
|
|
|
|
Voici comment définir simplement la documentation d'une méthode
|
|
|
|
/**
|
|
* Retourne les informations identitaires de l'entreprise ou de l'établissement demandé
|
|
* @param string $key Siren de l'entreprise ou siret de l'établissement
|
|
* @return Identite
|
|
*/
|
|
public function test($key)
|
|
{
|
|
|
|
}
|
|
|
|
Attention ces informations servent aussi pour la structure du WSDL
|
|
|
|
Pour spécifier un lien vers un fichier ou pour générer un fichier depuis une
|
|
requête SQL à partir de la documentation du service.
|
|
Ajouter dans le docblock :
|
|
- Pour un fichier
|
|
@ref fichier:libellé:{nom_du_fichier.ext}
|
|
- Pour une requête SQL
|
|
@ref mysql:libellé:{nom_du_fichier.sql}
|
|
|
|
Les fichiers a télécharger sont à placer dans le répértoire public/fichier et
|
|
les fichiers sql dans public/sql
|
|
|
|
Pour spécifier des éléments de taille (non pris en compte sur le WSDL)
|
|
@xsd minLength=9
|
|
@xsd maxLength=15
|
|
|
|
|
|
|
|
|
|
|