PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

How to Create a Simple PHP Templating Function - Daggerhart

mercredi 9 octobre 2019 10:03

Mouais... le templating, au départ, c'est plutôt pour séparer le code PHP du HTML (l'objectif étant de permettre de bosser à plusieurs avec chacun sa spécialité sans se parasiter, déjà)

Du coup, je vois pas trop en quoi c'est du templating: ce sont des fichiers php avec des bouts de php dedans.

Pour y avoir réfléchi pas mal afin d'améliorer mon code, notamment dans mon «framework» perso, l'idée du templating est d'avoir des fichiers HTML que le PHP vient compléter selon une certaine logique, qui varie en fonction des frameworks.

Pour ma part, j'ai opté pour des fichiers HTML contenant des «balises» entre double accolades dont le contenu sera interprété selon certaines règles par la classe template:

On peut également transmettre des données ponctuelles servant à «remplir» le template via un array passé en paramètre selon le principe "string_à_remplacer"=>"valeur".

... et c'est tout.

ça donne des fichiers tpl du genre:


header.html

<!DOCTYPE html> <html> <head> <title>{{APP_NAME}} - {{CURRENT_PAGE}}</title> <link rel="stylesheet" type="text/css" href="http://warriordudimanche.net/{{APP_CSS}}style.css"> <link rel="icon" type="image/svg" href="./media/44585040.APP_IMGfavicon.svg" data-original-source="http://warriordudimanche.net/{{APP_IMG}}favicon.svg"> <link rel="favicon" type="image/svg" href="./media/44585040.APP_IMGfavicon.svg" data-original-source="http://warriordudimanche.net/{{APP_IMG}}favicon.svg">

</head>

<body class="{{CURRENT_PAGE}} {{app->isMultiple()}}" id="top"> {{this->render('menu')}} <main>

menu.html

<nav class="classe{{CURRENT_PAGE}}"> <li><a href="http://warriordudimanche.net/?p=home">{{"Accueil"}}</a></li> <li><a href="http://warriordudimanche.net/?p=5eme">5eme</a></li> <li><a href="http://warriordudimanche.net/?p=4eme">4eme</a></li> <li><a href="http://warriordudimanche.net/?p=3eme">3eme</a></li> <li><a href="http://warriordudimanche.net/?p=fiches">{{"Fiches"}}</a></li>
<li><a href="http://warriordudimanche.net/rss#" id="fullscreen" >Plein écran</a></li>
</nav>

on voit que le template header.html appelle à son tour le template menu, ce qui permet d'avoir des templates imbriqués et donc une grande «réusabilité» de chaque élément.

Le templating permet également d'éviter la dispersion du code PHP: quand on place des bouts de trucs et de machins partout ça devient vite illisible (et j'en sais quelque-chose). Le templating te force à organiser l'ensemble selon une logique qui te permet de t'y retrouver (et de retrouver où ça couille quand ça couille) (et ça couille toujours) (en fait, ça couille de source)( gag)

Souvent  mon code est devenu tellement illisible à force de patcher à la scie sauteuse entre deux portes que je préfère tout reprendre du début .jpg

 Répéter  couille plusieurs fois d affilée gratuitement  check  .jpg

Je ne m'étends pas davantage dessus vu qu'on peut trouver plein de ressources sur le templating en PHP et que pour en dire plus, il faudrait que je m'étende davantage sur mon «framework»

Via https://nicolas-delsaux.hd.free.fr/Shaarli/?_D5cZQ
<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Impression3D: outil centreur

mardi 8 octobre 2019 14:59

Un petit outil de mon cru qui combine un trusquin simpliste et un «centreur» dont j'ai vu des exemples sur pinterest: Il permet de tracer un trait pile au centre d'un chevron par exemple sans faire de mesure; on coince la pièce entre les roulements et on déplace le bouzin tout le long du chevron: le crayon reste bien centré au milieu.

Pour tracer des traits à 5,10,15 ou 20mm du bord, il suffit de placer la pointe du crayon dans l'encoche correspondante et de glisser le long du bord.

Capture du 2019-10-08 14-51-37.png

IMG 20191008 144749.jpg

IMG 20191008 144756.jpg

IMG 20191008 144855.jpg

IMG 20191008 145012.jpg

Je fais pas plus long vu que je fais faire la lecture à mon gamin en même temps et que j'ai du mal à me concentrer.

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Brexit or not brexit: #Trollgratuit

lundi 7 octobre 2019 16:33

Ils n'en finissent pas de se barrer...

Boris Johnson  c est le mec bourré en fin de soirée qui te fait la conversation sur le pas de la porte pendant trois heures alors que tout le monde est parti et que tu as envie d aller te coucher   .jpg

brexit.jpg

 Là où je me marre  c est qu il table sur un partenariat avec Trump   .jpg

 T imagines s il est destitué après la finalisation du brexit     .jpg

  Dans ton cul Boris .jpg

 Heu  il faut partir  monsieur    Genre  maintenant  en fait .jpg

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

𝙰𝚜𝚖𝚘𝚍𝚎𝚎 sur Twitter : "En français il y a quelqu’un qui a demandé à la prof pourquoi on ne peut plus dire "mademoiselle" et elle a répondu quelque chose de tellement beau "Car une fille n’a pas besoin d’être mariée pour être une femme." Cette prof est géniale moi j’vous le dis"

samedi 5 octobre 2019 12:58

Superbe, court, concis, imparable.

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

20 NOUVELLES IDÉES POUR TES VIEUX T SHIRTS - YouTube

vendredi 4 octobre 2019 13:17

Du coup, quelques trucs à faire avec de vieux t-shirts... je vais tester le transfert maison... pour voir.

<link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires