Du php dans les squelettes ?

Comment éviter le PHP

Un squelette SPIP est un fichier d’origine HTML, qui va etre compilé et calculé par SPIP pour y interpréter les boucles et balises.... ce devient donc un fichier php !

Mais les balises SPIP sont justement là pour éviter d’avoir à insérer du php dans les squelettes, ce qui permet :
- de meilleures optimisations des traitements grace aux caches
- une sécurisation accrue par la pré-compilation SPIP.

Article publié le 2 janvier 2019, et actualisé en janvier 2019

 
 
 
 
Attention, cette page est encore en  

Le principe de SPIP est donc de ne jamais proposer de lignes de commande Php dans les squelettes.

L’ensemble des instructions de boucles et de balises sont interprétées par SPIP, et ré-écrites dans des structures de calcul pré-compilées ; l’appel d’une page précise -disons celle d’un article- n’a plus qu’à instancier les valeurs des champs en balises avec l’extraction des données de l’enregistrement en table pour proposer une page à l’affichage.

Ce processus écrit en PHP, permet donc d’introduire des traitements Php, en particulier utilisant toutes les (très) nombreuses fonctions de ce langage..

Mais il est préférable de passer par la syntaxe de filtres sur les Balise SPIP.

La syntaxe des filtres SPIP permet d’utiliser n’importe quelle fonction php, appliquée à un élément de #BALISE, par exemple à la valeur renvoyée par la balise #VAL :
exemple : [(#VAL{toto}|strtoupper)] va afficher : TOTO

Attention, le premier argument de la fonction est pris dans le flux d’entrée,
et c’est le résultat de la balise (ici #VAL{toto} , qui rend ’toto’ !

Si le code de la fonction est inscrite dans -par exemple- mes_options
il sera possible d’écrire
<img src="../googleimg/[(#VAL{parm}|fonction_staticmapGoogle)].jpg" width="100" height="70" />


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 2 janvier 2019, et actualisé en janvier 2019 Provisoire (à compléter...) .

Répondre à cet article