## La structure d'un composant de service

Un composant de service est implémenté sous forme de classe. Pour l'identifier, il doit contenir une annotation @service. L'exécutable SCA va utiliser le nom du fichier de script pour déterminer le nom du composant, par convention. La classe et le fichier de script doivent donc porter le même nom.

Les composants PHP SCA doivent toujours exposer un service, et il n'y a aucun moyen pour un composant d'être appelé autrement que comme le résultat d'un service Web, ou bien directement par un autre composant ou un script. Pour cette raison, un composant PHP SCA valide va toujours contenir une annotation @service et au moins une méthode publique.

Chaque composant SCA requiert que le script SCA.php soit inclus. En plus de contenir la définition de la classe SCA, ce script contient du code PHP qui est exécuté à chaque appel, et qui est responsable du comportement général du composant.

Attention

Il est très important que les autres inclusions de votre script interviennent avant celle du fichier SCA.php. S'il y a des inclusions après SCA.php, ils ne seront pas pris en compte lorsque l'exécutable SCA traitera votre classe.

L'exemple ci-dessous montre la structure générale.

Exemple #1 Structure d'un composant SCA pour PHP

`<?php
// les inclusions
include "SCA/SCA.php";
/**
* @service
*/
class ConvertedStockQuote {
// variables, logique métier, inclusion d'au moins une méthode publique
}
?>`