
Home
» Talus' Works » Talus' TPL » Général & Support » Quelques questions à propos de la version 1.7 » Lecture du Sujet » Page 1 | Forum Fermé - Sujet Fermé |
|
|
|
|
Salut, le titre est assez explicite je pense : suite à la sortie de la nouvelle version du moteur, il y a des choses qui restent encore flou. Les voici, donc : - je n'ai pas compris à quoi servent les includes paramétrées et comment ça marche (même avec les explications et je suis pas complètement bête non plus) - Dans ce sujet (http://www.talus-works.net/topic-6-p1-debutons.html), tu parles d'injection de dépendance, j'ai lu l'article sur Wikipédia mais cela ne m'a pas trop appris, c'est un peu trop technique pour moi. Concrètement, à quoi cela peut servir avec le moteur ? - Dans le sujet "aborder la doc", la partie sur les fonctions est barrée. Est-ce que cela veut que ce n'est plus d'actualité dans cette dernière version ? - et pour terminer, je n'ai pas trop compris à quoi servait le contenu du dossier "exceptions", c'est pour la gestion des erreurs ? Voilà, j'ai mis un peu en vrac les questions que j'avais, en espérant pouvoir avoir des réponses ;) |
|
|
|
|
Hello, Je vais répondre points par points. - Mettons que t'as un fichier / extrait xHTML à inclure dans un autre TPL. En fait, avant d'aborder cette explication, je vais le faire via un exemple : En PHP, quand tu veux inclure un fichier, tu utilies include(). Jusque là, c'est pareil que les TPLs. Mais en PHP, quand t'appelles un fichier et que tu lui fournis des paramètres (par la barre d'adresse par exemple, via GET), tu peux récupérer des variables (_GET), et transformer ton script en fonction (si $_GET (truc] = machin, alors j'appelle ce comportement). Bah l'esprit est en fait le même : quand tu appelles un tpl via <include />, et que tu lui fourni des parametres (genre tpl.html?PARAMA=valA&PARAMB=3), tu passes deux paramètres au tpl.html : une variable {PARAMA} et une {PARAMB}, qui ne sont valables... que dans le tpl appelé (et sa descendance). Ce qui fait que je ne peux pas avoir les variables susdites dans le tpl qui fait un <include />. Bref, ca remplace donc les fonctions en gros, et ca regle plus ou moins la question sur les fonctions, au passage (qui sont devenues dépréciées, donc à ne pas utiliser au possible). D'ailleurs, ca a été désactivé. - Mettons que tu veuilles étendre les possibilités de compilation du moteur de base. Tu as juste à étendre Talus_TPL_Compiler, et faire tes modifs... Mais comment le TPL est-il censé savoir que tu souhaites utiliser une autre classe ? Là intervient l'injection de dépendances. Ca permet ainsi de spécifier au moteur que tu souhaites utiliser une classe fille plutot que la classe mère. Et c'est pareil pour le cache. En gros c'est ca. Sinon un slide de Fabien Potencier (créateur de symfony), qui est sur PHP 5.3 de mémoire, traine sur la toile ; je te le recommande. - (done) - En gros, oui. C'est l'implémentation du système d'exceptions que PHP met à disposition, et qui permet en effet de gérer les erreurs... Enfin plus ou moins. Dev' de Talus' Works |
|
|
|
|
Salut, merci pour tes réponses ;). J'ai encore du mal à saisir la partie concernant les includes. Est-ce que tu aurais 1 ou 2 exemples concrets parce que là j'avoue que je ne suis pas sûr d'avoir bien compris. En ce qui concerne l'injection de dépendance, en fait, c'est inclure une classe, un objet dans une autre par le biais d'un array, c'est ça ? |
|
|
|
|
Pour l'injection de dépendance: |
|
|
|
|
|
Ça éviterait de faire du bidouillage dans la méthode et éviter que ça ne bug c'est ça ? |
|
|
|
|
Ca n'a pas forcément la forme d'un array, mais pour Talus TPL, oui. Car y'a plusieurs classes, dont deux qui peuvent être étendues : le compiler et le cache. Par exemple, si pour le compiler, tu veux faire des actions AVANT la compilation puis APRES la compilation, tu peux créer une classe fille "My_Talus_TPL_Compiler", qui fait ces actions, sans devoir toucher au code de TTPL_Compiler. Ca peut éviter des bugs, mais c'est surtout si t'as besoin de mettre à jour TTPL, bah dans ce cas, tes modifs ne seront pas vraiment perdues... Plus d'infos par ici : http://www.slides[...]th-php-and-php-53 [[EN]]:) Dernière édition le 20/12/2009, à 18:21, par Talus Dev' de Talus' Works |
|
|
|
|
ET en ce qui concerne les includes paramétrées, aurais-tu des exemples, qu eje visualise ? |
|
|
|
|
Bah j'ai déjà tout expliqué, y'a rien d'autres à dire...
Code TPL
<include tpl="tpl.html?myvar=val&this_var={$VAR}" />
Dans le tpl principal (celui qui inclue tpl.html), on a pas accès aux variables {MYVAR} et {THIS_VAR}. Alors que dans le tpl.html, on y a accès... Je peux pas faire plus simple. Dernière édition le 20/12/2009, à 21:35, par Talus Dev' de Talus' Works |
|
|
|
|
Bon, je vois grosso modo, si j'ai vraiment des problèmes, je poserai la question :) |
| Forum Fermé - Sujet Fermé |