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.

Comments are closed.