Data provider
Pour la version 2 du site relay.fr, nous avons mis en place un accès centralisé aux données, qui renvoie de l’xml.
Les url utilisées sont de la forme
?uri=home
?uri=structure
?uri=familles/feminins
?uri=article/8468
Les données sont en xml, utf-8, textes en cdata.
Le fichier index.php contient
require_once (« config.req.php »);
require_once (« Relay.class.php »);
$relay = new Relay();
$relay->sydb = $sydb; // couche d’abstraction base de données
$relay->main();
La classe Relay contient les propriétés / méthodes
$uri
main()
build()
main() récupère $_GET["uri"] et la range dans $uri.
build() contient une série de cases :
switch ($first){
case « structure »:
require_once (« Structure.class.php »);
$structure = new Structure($this->sydb);
$this->data .= $structure->show($trail);
break;case « home »:
require_once (« Home.class.php »);
$home = new Home($this->sydb);
$this->data .= $home->show($trail);
break;case « livres »:
require_once (« Livres.class.php »);
$livres = new Livres($this->sydb);
$this->data .= $livres->show($trail);
break;etc…
}
$first et $trail décomposent l’uri, $first et la première partie, $trail la suite.
Selon $first, on instancie une classe, et on lui laisse traiter $trail.
