jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

| Page Précédente 1 2 3 | |||||||||||||||
| Pseudo | Commentaire | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Page Précédente 1 2 3 | |||||||||||||||
vincent1870
|
# Posté le 24/12/2009 à 21:32:05 | ||||||||||||||
Traqueur de bugs![]()
Ville : Villeurbanne |
Hum, c'est pas faux en effet, il y a quelque chose qui ne va pas ici.
Membre des zCorrecteurs, qui ont corrigés une grande partie des cours présents sur le SdZ. Contributeur au code source du site des zCorrecteurs, publié sous licence AGPL. Adhérent de Corrigraphie, association structurant les zCorrecteurs. |
||||||||||||||
cookieslover
|
# Posté le 10/01/2010 à 18:11:05 | ||||||||||||||
CookieKiss !![]()
Études : EPITA |
Salut, J'ai cherché un peu et j'ai pas vu d'équivalent de la boucle for. Si je souhaite répéter l'affichage d'un élément un certains nombre de fois, comment puis-je faire ? J'ai besoin de ce genre de chose pour afficher par exemple les numéros de page dans un système de pagination ![]() Edit: je peux peut-être essayer avec range() mais je trouve ça moche |
||||||||||||||
vincent1870
|
# Posté le 10/01/2010 à 18:44:48 | ||||||||||||||
Traqueur de bugs![]()
Ville : Villeurbanne |
Tu peux t'en sortir avec une boucle foreach et range() en effet. Je ne crois pas qu'il y ait de for, à confirmer.
Membre des zCorrecteurs, qui ont corrigés une grande partie des cours présents sur le SdZ. Contributeur au code source du site des zCorrecteurs, publié sous licence AGPL. Adhérent de Corrigraphie, association structurant les zCorrecteurs. |
||||||||||||||
Talus
|
# Posté le 10/01/2010 à 18:47:40 | ||||||||||||||
People are strange![]()
|
Sinon tu as toujours les blocs à disposition... Ou une structure foreach. Mais c'est au coté PHP qu'il faut renseigner l'array...
Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
cookieslover
|
# Posté le 10/01/2010 à 19:43:51 | ||||||||||||||
CookieKiss !![]()
Études : EPITA |
J'ai utilisé les blocks et du coup je fais un for du côté de php ![]() Sinon félicitations pour ton système
|
||||||||||||||
cookieslover
|
# Posté le 10/01/2010 à 22:11:34 | ||||||||||||||
CookieKiss !![]()
Études : EPITA |
Encore un petit problème ![]() Dans mon fichier template j'ai : Code : XML
et ça donne ça comme rendu : Code : XML
tutorial_box est le nom du bloc dans lequel je me trouve et DATA est la variable associée à ce bloc (un tableau associatif). Il semblerait que le parser a bien traduit ma variable en php mais pas le foreach qui va autour. Est-ce une erreur de ma part ? Merci |
||||||||||||||
Talus
|
# Posté le 21/01/2010 à 20:24:40 | ||||||||||||||
People are strange![]()
|
A priori c'est bien un bug du moteur.... As-tu essayé avec la 1.7.0 ? (P.S > Essaye d'éviter de poster tes problèmes dans les commentaires du tuto, j'y passe pas souvent... Vois sur le forum que j'ai développé à cet effet )
Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
robin850
|
# Posté le 17/04/2010 à 11:00:34 | ||||||||||||||
![]() Avis : Très bon
Ville : Avesnes-sur-helpe |
Bravo à Talus pour son super moteur et bravo à Vincetn1870 pour le tutoriel si bien rédigé.Vous avez mes félicitations .Je viens de comprendre comment fonctionne un moteur de templates, à quoi ça sert et surtout j'ai découvert le moteur de templates .Quand mon site passera en Version 2 je le ferrais en OO et surtout avec ce super moteur de templates .Cordialement robin. |
||||||||||||||
ThePooh
|
# Posté le 08/06/2010 à 00:46:08 | ||||||||||||||
Luxe, Calme, Volupté![]()
|
J'étais un peu sceptique quant à l'utilité d'un système de tpl pour l'utiliser maintenant au quotidien ça aide quand même vachement bien et celui là est super léger.
Neetcafe.com (Twitter - Neet.Blog) - YouTube (Mes AMVs) Développeur / SEO / Graphiste / Otaku Addicted to : CakePHP - MongoDB - Node.JS - Redis - Python Neetcafe <3 Open-Source : Cake-Resque Our CakePHP plugin to manage queue using Redis + Resque Clair-et-Net éleveur de pixels ! |
||||||||||||||
Cryde
|
# Posté le 18/06/2011 à 22:38:13 | ||||||||||||||
Mouhahahahaha![]()
Études : Université Libre de Bruxelles (ULB) |
Ce système de template est vraiment pas mal du tout ! Bravo à l'auteur
|
||||||||||||||
Talus
|
# Posté le 19/06/2011 à 15:42:57 | ||||||||||||||
People are strange![]()
|
Hello, Je préfère le notifier ici, afin d'éviter certaines surprises : la version a été de nouveau mise à jour, du à un bug relativement critique concernant les foreach. Merci à minirop pour l'avoir découvert. ![]() Les archives ont donc été mises à jour, ce sera transparent pour ceux qui téléchargent à partir de maintenant (plus ou moins). Les autres, pensez à retélécharger. Merci
Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
Dentuk
|
# Posté le 19/07/2011 à 23:31:51 | ||||||||||||||
Yamo...![]()
Études : ENSEA |
Salut ! J'ai du mal à comprendre l'intérêt de tout ça. Citation : Tuto Ce que nous allons voir ici consiste à remplacer le code PHP par un pseudo-langage, présentant les avantages suivants. Soit.Citation : Tuto Ce langage est assez simple. On retrouve l'équivalent d'expressions PHP. Cela rend ce langage idéal pour être utilisé par un graphiste, qui n'a ainsi pas à apprendre à utiliser PHP, mais juste ce langage, forcément plus simple. C'est pas moins compliqué que du PHP, c'est du PHP, juste écrit d'une façon différente (la preuve étant que la fonction d'analyse consiste à traduire le code template en PHP). C'est à la rigueur plus court (pour les affichages mais pas pour les conditions par exemple) mais pas plus simple. Apprendre ce langage ou apprendre à utiliser des conditions, des boucles et des inclusions en PHP, ça a exactement le même niveau de difficulté. Or PHP étant largement plus utilisé, je pense qu'il est plus intéressant pour un graphiste d'apprendre à l'utiliser plutôt que ce langage.Citation : Tuto Nous en venons donc à un deuxième avantage : la présentation est totalement séparée de la logique du code, et de la récupération des données. On peut toucher au style du site sans toucher à la logique, et vice-versa. Ce qu'on peut très bien faire en PHP seul.Code : XML
Code : PHP
En quoi le premier code est plus simple que le second ? Il suffit ensuite d'appeler une fonction de ce type : Code : PHP
Ainsi : Code : PHP
Non ? Si c'est pour éviter la syntaxe PHP, autant utiliser une solution type Django, mais traduire vers du PHP je vois mal l'intérêt, c'est déjà un langage de templates. OH SH- |
||||||||||||||
Talus
|
# Posté le 20/07/2011 à 00:33:13 | ||||||||||||||
People are strange![]()
|
Citation : Dentuk Citation : Tuto Ce que nous allons voir ici consiste à remplacer le code PHP par un pseudo-langage, présentant les avantages suivants. Soit.Citation : Tuto Ce langage est assez simple. On retrouve l'équivalent d'expressions PHP. Cela rend ce langage idéal pour être utilisé par un graphiste, qui n'a ainsi pas à apprendre à utiliser PHP, mais juste ce langage, forcément plus simple. C'est pas moins compliqué que du PHP, c'est du PHP, juste écrit d'une façon différente (la preuve étant que la fonction d'analyse consiste à traduire le code template en PHP). C'est à la rigueur plus court (pour les affichages mais pas pour les conditions par exemple) mais pas plus simple. Apprendre ce langage ou apprendre à utiliser des conditions, des boucles et des inclusions en PHP, ça a exactement le même niveau de difficulté. Or PHP étant largement plus utilisé, je pense qu'il est plus intéressant pour un graphiste d'apprendre à l'utiliser plutôt que ce langage.Oui et non ; Concernant le fait que ce soit traduit en php, dis toi qu'au final, tout langage est interprété en langage / instructions machines... Le boulot de l'intégrateur, c'est savoir quel bloc fait quoi, et c'est tout. C'est à dire, niveau algo, il s'en fiche. Il veut qu'un tel bloc se répète tant de fois, et plus exactement faire certaines opérations sur des variables (par exemple, pour un bloc, savoir si il est à la première itération, a la dernière, quelle est l'itération courante, ... etc), ce qui est également plus simple qu'en PHP, où il faut à chaque fois tout faire à la main.... ce qui rebutera tout inconnu à PHP. Certaines particularités sont en quelques sortes prémachées. C'est là l'intérêt. Citation : Dentuk Citation : Tuto Nous en venons donc à un deuxième avantage : la présentation est totalement séparée de la logique du code, et de la récupération des données. On peut toucher au style du site sans toucher à la logique, et vice-versa. Ce qu'on peut très bien faire en PHP seul.A la base, PHP est un moteur de template. Qui a évolué. Et disons qu'avoir une séparation plus nette peut aussi aider... Mais ça, c'est les gouts, les couleurs. Moi-même, même si j'ai développé ce fameux moteur, des fois je préfère utiliser PHP face aux templates. Citation : Dentuk Code : XML
Code : PHP
En quoi le premier code est plus simple que le second ? Là tu prends le morceau simple où il n'y a, en effet, aps vraiment de différences. D'ailleurs, le second est plus ou moins l'interprétation PHP du premier, à peu de choses près... Mais par exemple, comme je le disais plus haut, si tu as besoin de certaines particularité du style Code : XML
N'est-ce pas plus clair et simple que Code : PHP
Mon choix est vite fait, surtout pour quelqu'un non initié... Citation : Dentuk Il suffit ensuite d'appeler une fonction de ce type : Code : PHP
Ainsi : Code : PHP
Non ? Ben techniquement c'est ce que fait le moteur de tpl... Code : PHP
Citation : Dentuk Si c'est pour éviter la syntaxe PHP, autant utiliser une solution type Django, mais traduire vers du PHP je vois mal l'intérêt, c'est déjà un langage de templates. Ben disons que c'est le même intérêt que Twig et autres Jinja ; PHP n'est plus vraiment un moteur de template à présent... Ca a été sa base, mais maintenant il a évolué en véritable langage de script. Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
Dentuk
|
# Posté le 20/07/2011 à 02:30:00 | ||||||||||||||
Yamo...![]()
Études : ENSEA |
Ok. Pour ce qui est de l'optimisation, ça reste convenable parce que, si j'ai bien compris le code source, ton langage est en fait compilé vers du PHP, et la traduction n'a lieu qu'une fois et pas à chaque fois qu'on appelle la page. Après si je devais coder un tel système de traduction je ferais en sorte que la traduction soit faite avant l'envoi sur le serveur plutôt que ce soit le serveur qui ait à vérifier à chaque requête si la traduction a été effectuée, et dans le cas contraire la fasse. Mais bon, pourquoi pas. C'est surtout qu'après une lecture du tuto en diagonale (j'avoue), le langage ne semblait rien offrir de plus par rapport au PHP pur. Il faudrait souligner le fait qu'il y a des tâches facilitées dans la liste des avantages. Je maintiens que ton langage reste trop proche du PHP à mon goût par exemple dans le choix des noms. Et je reste dubitatif par rapport à la clarté et la concision d'une syntaxe XML mélangée à des {, des } et des $, notamment pour un non-initié. Je trouve la syntaxe Django plus efficace dans cette optique. Là on dirait que tu as voulu faire du XML, mais que ça rendait les codes encore plus longs à écrire qu'en PHP, alors t'as pris des raccourcis qui rendent le tout plus rapide à écrire mais aussi plus confus. Par exemple la syntaxe des conditions : Code : XML
À la première lecture on dirait qu'on rentre dans le bloc uniquement si la condition est respectée. Mais non, les elseif sont dans le bloc if. Donc la syntaxe XML, ainsi utilisée, me parait douteuse. Une version plus XML mais plus dure à traduire et plus pompeuse (donc inadaptée) serait : Code : XML
Ce que j'essaie de dire, c'est que le XML n'est pas vraiment adapté : il alourdit le tout si on veut bien l'utiliser. Par exemple les cond= dans les if et les ary= dans les foreach gênent la lecture. Qu'est-ce qui t'a poussé à choisir ça ? Pour l'exemple que j'ai pris c'était celui du tuto en fait. OH SH- |
||||||||||||||
Talus
|
# Posté le 20/07/2011 à 08:43:06 | ||||||||||||||
People are strange![]()
|
Qu'entends-tu par vérifier avant le serveur si il faut en effet recompiler ou non le template ? Concernant les délimiteurs, c'est encore une fois une question de gout. Que ce soit {{ }} ou {}, la différence n'est pas des plus énorme... Après, pour {% %} ou {$} (et autres pseudo-xml -- d'ou le pseudo en fait), il n'y a pas non plus une très grande différence... Pour les attributs, je vais t'avouer que c'est les premiers venu en tête qui me sont passé par là et que je trouvais assez explicites par leur nom (leurs noms complets étant "condition" et "array"). Je sais que je reste assez proche de PHP, mais finalement, c'est le cas aussi des autres moteurs (sauf que c'est "for", certes). Mais maintenant que tu m'y fais penser, j'ai en effet fait une erreur : au lieu de choisir "foreach" pour les boucles, j'aurais pu choisir par exemple "loop" qui aurait été bien plus clair pour un non-initié... Avant, il y avait le concept du "block", qui remplissait assez bien sa tâche. De toutes manières, je pense refactorer toussa d'ici la v2. Enfin, encore faudrait-il que je mette mes idées au clair pour celle-ci... Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
Dentuk
|
# Posté le 20/07/2011 à 11:48:28 | ||||||||||||||
Yamo...![]()
Études : ENSEA |
Citation : Talus Qu'entends-tu par vérifier avant le serveur si il faut en effet recompiler ou non le template ? Non ce que je voulais dire c'était :
Bon là c'est un peu radical mais l'idée c'est de réduire le « code qui est appelé et/ou inclus à chaque fois » au strict minimum (cf la fonction que j'ai écrite plus haut par exemple). Parce que derrière ce code qui est certes simple à mettre en place : Code : PHP
Il y a au minimum 1241 lignes de PHP à interpréter à chaque fois que quelqu'un demande la page (Main, Cache et Parser). Ça me parait énorme. Tu pourrais déjà alléger ça en n'incluant les 433 lignes de Parser.php (ce qui se fait à l'utilisation de la classe liée) que si c'est nécessaire, autrement dit en le faisant dans Talus_TPL::str() plutôt que Talus_TPL::__construct() qui est toujours appelée. Citation : Talus Concernant les délimiteurs, c'est encore une fois une question de gout. Que ce soit {{ }} ou {}, la différence n'est pas des plus énorme... Après, pour {% %} ou {$} (et autres pseudo-xml -- d'ou le pseudo en fait), il n'y a pas non plus une très grande différence... Pour les attributs, je vais t'avouer que c'est les premiers venu en tête qui me sont passé par là et que je trouvais assez explicites par leur nom (leurs noms complets étant "condition" et "array"). Je sais que je reste assez proche de PHP, mais finalement, c'est le cas aussi des autres moteurs (sauf que c'est "for", certes). Mais maintenant que tu m'y fais penser, j'ai en effet fait une erreur : au lieu de choisir "foreach" pour les boucles, j'aurais pu choisir par exemple "loop" qui aurait été bien plus clair pour un non-initié... Avant, il y avait le concept du "block", qui remplissait assez bien sa tâche. Le problème n'est pas que les noms des attributs soient mals choisis ou quoi, c'est la présence même d'attributs qui me gène : ça « coupe » la lecture du code, son « flow », sans rien apporter. Un peu comme si on écrivait (en exagérant) : <phrase sujet="tu" verbe="vas" complément="bien" ponctuation="?" /> dès qu'on voulait dire un truc. Qu'est-ce qui est le plus facile à lire ? Code : XML
Bon après si on vire les attributs faut carrément virer le pseudo-XML sous peine d'avoir des soucis pour tester <if a>2>. J'explique juste pourquoi je n'aime pas ce pseudo-XML. OH SH- |
||||||||||||||
Talus
|
# Posté le 20/07/2011 à 11:56:23 | ||||||||||||||
People are strange![]()
|
Faire un programme de traitement (que ce soit interface d'admin, programme externe) complifierait inutilement et grandement la chose pour quoi au final ? Pas grand chose... Concernant les appels, oui et non ; en effet, j'ai tout de même besoin de connaître les classes que je dois appeler ! Avant que je ne mette en place le principe de la dépendance, et ainsi augmenter la flexibilité du moteur, je procédais comme tu l'indiques. En gros, le cache n'était chargé que dans parse(), et le parseur que dans str()... Mais j'ai du faire un choix pratique. Soit j'inclus en effet tout Parser.php dès le début (ou alors une autre classe qui implémente la bonne interface (Talus_TPL_Parser_Interface, Talus_TPL_Cache_Interface dans le cas présent), mais bref, elle doit être initialisée), pour qu'on puisse faire les modifs nécessaire... Tu vois un peu le problème ? Ce que je peux toujours faire, à la rigueur, dans parse() & str(), c'est vérifier si parser & cache sont null, et si oui, alors allouer moi-même une classe... Et ne pas m'en occuper dans __construct(). Mais faut l'avouer, c'est assez moche... ! Pour la syntaxe, oui tu marques un point... Quoique, <if <cond>> face à <if cond="<cond>">, la différence est minime, non ? ç part quelques caractères de plus, certes, ... Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
Dentuk
|
# Posté le 20/07/2011 à 13:15:23 | ||||||||||||||
Yamo...![]()
Études : ENSEA |
Citation : Talus Faire un programme de traitement (que ce soit interface d'admin, programme externe) complifierait inutilement et grandement la chose pour quoi au final ? Pas grand chose... L'interface d'admin c'est pas tellement plus compliqué, c'est surtout plus dur à faire de façon modulable et réutilisable par d'autres, on peut au mieux fournir la fonction de traduction et éventuellement une interface « par défaut ». Après c'est moins pratique à partager que ton système actuel, en effet. Mais il doit y avoir un gain en performance assez conséquent si la fonction d'appel des pages est réduite au strict minimum. Citation : Talus Concernant les appels, oui et non ; en effet, j'ai tout de même besoin de connaître les classes que je dois appeler ! Avant que je ne mette en place le principe de la dépendance, et ainsi augmenter la flexibilité du moteur, je procédais comme tu l'indiques. En gros, le cache n'était chargé que dans parse(), et le parseur que dans str()... <> Certes c'est assez moche mais ça divise presque par deux le code PHP chargé dans le cas général, c'est pas négligeable je pense. Tu peux envelopper ça dans une méthode load_if_not_set_parser ou ce que tu veux pour que ça paraisse moins moche. Le cache lui tu en auras toujours besoin.Mais j'ai du faire un choix pratique. Soit j'inclus en effet tout Parser.php dès le début (ou alors une autre classe qui implémente la bonne interface (Talus_TPL_Parser_Interface, Talus_TPL_Cache_Interface dans le cas présent), mais bref, elle doit être initialisée), pour qu'on puisse faire les modifs nécessaire... Tu vois un peu le problème ? Ce que je peux toujours faire, à la rigueur, dans parse() & str(), c'est vérifier si parser & cache sont null, et si oui, alors allouer moi-même une classe... Et ne pas m'en occuper dans __construct(). Mais faut l'avouer, c'est assez moche... ! Citation : Talus Pour la syntaxe, oui tu marques un point... Quoique, <if <cond>> face à <if cond="<cond>">, la différence est minime, non ? ç part quelques caractères de plus, certes, ... Le souci c'est pas les caractères en plus, c'est le confort de lecture. Un code est plus simple à suivre dans sa continuité et à comprendre globalement s'il n'y a rien (en tout cas pas de texte lisible parce que ça détourne l'attention) entre un "if" et la condition qui l'accompagne (par exemple). Après qu'autour ce soit des <>, des {} ou des <<#{\/}#>> peu importe.Un exemple bidon avec une syntaxe inventée : Code : XML
L'objet lié à une condition/boucle y est directement rattaché dans la deuxième syntaxe, je trouve ça plus facile à lire que quand on doit lire « ary= » ou « cond= » à chaque fois. Dans le premier code si ton œil essaie de regarder le bloc if, il voit if cond, elif cond, else. Tu n'as pas une vision globale, tu es obligé de regarder balise par balise. OH SH- |
||||||||||||||
Talus
|
# Posté le 20/07/2011 à 13:48:12 | ||||||||||||||
People are strange![]()
|
Citation : Dentuk Citation : Talus Faire un programme de traitement (que ce soit interface d'admin, programme externe) complifierait inutilement et grandement la chose pour quoi au final ? Pas grand chose... L'interface d'admin c'est pas tellement plus compliqué, c'est surtout plus dur à faire de façon modulable et réutilisable par d'autres, on peut au mieux fournir la fonction de traduction et éventuellement une interface « par défaut ». Après c'est moins pratique à partager que ton système actuel, en effet. Mais il doit y avoir un gain en performance assez conséquent si la fonction d'appel des pages est réduite au strict minimum. Techniquement, c'est déjà réduit au strict minimum. Il y a juste une vérification comme quoi le cache n'est pas expiré (une simple comparaison de timestamps / vérif d'existence du cache). Si le cache existe et est valide, il y a juste une inclusion avec contexte, comme le montrait ta fonction. Sinon, y'a juste l'étape de compilation en plus, qui n'est exécutée qu'une seule fois ; au final, c'est bien plus avantageux que l'utilisation d'un truc à part... La syntaxe que tu proposes me plaît. Mais du à l'ancienneté du moteur (4 ans), c'est dur de pousser d'aussi gros changements... Surtout quand il n'y a pas vraiment de compatibilité, comme ici. :/ Aussi, le truc qui m'arrange pas (soucis qui n'existe pas dans Twig et moteurs dérivés de Jinja), c'est que je suis obligé d'avoir {$var} au lieu de var... Pour les reconnaître. En effet, j'ai pas vraiment de parseur par tokens (ce qui changera dans la v2). J'en profiterai alors pour changer la syntaxe comme il le faut... Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
Dentuk
|
# Posté le 20/07/2011 à 14:35:58 | ||||||||||||||
Yamo...![]()
Études : ENSEA |
Citation : Talus Techniquement, c'est déjà réduit au strict minimum. Il y a juste une vérification comme quoi le cache n'est pas expiré (une simple comparaison de timestamps / vérif d'existence du cache). Si le cache existe et est valide, il y a juste une inclusion avec contexte, comme le montrait ta fonction. Sinon, y'a juste l'étape de compilation en plus, qui n'est exécutée qu'une seule fois ; au final, c'est bien plus avantageux que l'utilisation d'un truc à part... Au niveau du code appelé oui, au niveau du code inclus non, ce qui a aussi son importance en PHP vu que l'interprétation se fait « en dur » à chaque inclusion de page (pas de bytecode comme en python/java/whatever à ma connaissance). Je ne sais pas l'ordre de grandeur du temps que met PHP à analyser un code de mille lignes mais l'idée est là.Citation : Talus La syntaxe que tu proposes me plaît. Mais du à l'ancienneté du moteur (4 ans), c'est dur de pousser d'aussi gros changements... Surtout quand il n'y a pas vraiment de compatibilité, comme ici. :/ Oui c'est pas un changement léger, à toi de voir si ça vaut la peine ou pas et quand le faire.
Aussi, le truc qui m'arrange pas (soucis qui n'existe pas dans Twig et moteurs dérivés de Jinja), c'est que je suis obligé d'avoir {$var} au lieu de var... Pour les reconnaître. En effet, j'ai pas vraiment de parseur par tokens (ce qui changera dans la v2). J'en profiterai alors pour changer la syntaxe comme il le faut... OH SH- |
||||||||||||||
Talus
|
# Posté le 20/07/2011 à 14:44:13 | ||||||||||||||
People are strange![]()
|
En tout cas, le ticket est ouvert sur l'espace github. ![]() Merci pour les remarques. Si tu en as d'autres, n'hésites à passer par là-bas (je ne lis pas forcément les commentaires ici) Des projets : Link TPL ~ Tamed Framework ~ Pareto's End ~ Talus' Works Du social : GitHub ~ Twitter ~ Google + ~ Facebook ~ Yatedo ~ Linkdin Des tutos : La Représentation Intervallaire ~ Talus' TPL (Périmé) ~ Composer (En cours de rédaction) A lire : Réf. PHP ~ Réf. MySQL ~ Réf. Javascript Err... Mes Mangas ~ Mangas que je lis |
||||||||||||||
