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.
