FrameBeurk documentation

6. Fonctionnalités

6.1. Réécriture d’URI

(Voir Miscellaneous pour une réflexion sur le terme d’URI)

Pour activer la réécriture d’URI, le paramètre de configuration « UrlRewriting » doit être positionné à true, et le fichier .htaccess (pour Apache) correctement paramétré (voir Miscellaneous).

Les requêtes normalement destinées à index.php et ajax.php sont alors redirigées vers interpreteur.php qui va analyser l’URL et alimenter le tableau PHP des paramètres $_REQUEST[]. Les règles de construction de l’URL réécrite sont schématisées ci-dessous :


6.2. Navigation Ajax

Dans le cas d’une navigation par Ajax, l’historique des pages reste accessible à la navigation par page précédente / page suivante, toujours par Ajax, et de manière transparente. En effet, au retour de la réponse du serveur, le client récupère l’URL canonique qui y est présente et alimente l’objet Javascript history.

L’URI complète avec action Maj, DivVue… ne s’affiche donc jamais dans la barre d’adresse du navigateur tant qu’on navigue par Ajax -que la réécriture d’URL soit active ou pas.

6.3. Amélioration des balises

La navigation par ajax utilise une fonctionnalité plus large du framework destinée à associer un comportement à un élément de la page affichée, sans inclure de code Javascript dans le code HTML : C’est l’amélioration des balises.
Celle-ci utilise la possibilité de créer des attributs HTML. Le principe de fonctionnement est le suivant :

A titre d’exemple, pour gérer la navigation ajax, on a la configuration suivante :

$CONFIG['Tissage']['Beurk']['Attribut']['data-ajax'] = 'beurk_lienAmeliore';

Le code de la page sera, dans l’exemple d’un lien vers une vue destinée à saisir une action de modification :

<a href="/forum2/modifie-Commentaire-148" data-ajax="modifieCommentaire148" >Editer...</a>

Lorsque l'utilisateur clique sur un lien ayant l’attribut data-ajax, la fonction « beurk_lienAmeliore » va lire le contenu de l’attribut pour déterminer dans quelle div devra afficher le résultat de la requête ajax. La fonction va donc recomposer l’URI à partir du contenu des attributs data-ajax et href.

6.4. Couche de communication avec la DB

Pour donner au framework une interface indépendante de la base de données SQL utilisée, une couche de communication apporte des fonctions « chapeaux » aux fonctions standard de l’interface mysql (ou mysqli), avec principalement 2 améliorations :

array( 'SELECT' => array('S.IdSection', 'S.Section', 'S.NbrSujets', 'S.NbrSujetsArchives',                      'S.IdCreateur', 'U.User', 'S.TsCRE', 'S.TsMAJ', 'S.Etat'),    'FROM' => 'Rhum_Section AS S '              . 'LEFT JOIN Uzers_User AS U ON S.IdCreateur = U.IdUser '    'WHERE' => "S.IdSection = '$IdSection'");

L’usage de requêtes tableaux n’est pas obligatoire, sauf dans le cas de l’utilisation des Permissions (fonctionnalité décrite plus loin)



© ToolOscope SASU 2010-2015. © Arnaud De Rette 2016-2018. Tous droits réservés.