Šablony – návrh na rozdělení funkčnosti {include} na dvě makra

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pekelnik
Člen | 462
+
0
-

Chtěl bych navrhnout, aby se místo {include #block} – přidalo nové makro bez nutnosti toho # (který odlišuje soubor od bloku) – třeba:

  • {paste}
  • {slot}
  • {insert}
  • {place}

pro vkládání bloků.

A {include} ponechat pouze pro vkládání souborů.

U snippetů jsou pro změnu dvojtečky – to se ale má změnit, takže to sem nebudu motat.

Argumenty pro rozdělení:

  • nebude potřeba ten # a makro se navíc bude zapisovat standardně jako ostatní makra, tady {macro param}
  • při definici bloku je # nepovinný což vede k nekonzistenci a tedy zmatkům
  • makro include bude sloužit jedinému účelu ⇒ nebude se to plést…

Mě osobně se nejvíc zamlouvá {slot}. Pěkně to evokuje, že se tam něco vloží.

Co si o tom myslíte?

jtousek
Člen | 951
+
0
-

+1 ale hlasuju pro insert a paste

newPOPE
Člen | 648
+
0
-

Za chvilu budem na tie makra potrebovat katalog :-).

Nepride mi to az take zle s {include} kedze

<?php
{include file.phtml}
{include #myBlock}
?>

jasne hovori co je co, je sice pravda ze pre zaciatocnika to moze byt nejednoznacne preco include dokaze robit aj aj.

Daniel Kessl
Člen | 6
+
0
-

Jsem pro ponechání {include} a zavedení povinného # u bloků. Z názvu include je jasné, že se něco vkládá, a odlišení # mi přijde dostatečné.

westrem
Člen | 398
+
0
-

Taktiez nemam problem so sucasnou podobou, no nevidim nic zle ani na zmene, ak by vsak mala vykonat tak hlasujem jednoznacne pre {insert}, akym sposobom preboha asociujes {slot} s vkladanim bloku? :)

Majkl578
Moderator | 1364
+
0
-

Nebylo by smysluplnější pojmenovat ty makra např. {include.block} a {include.file}? {paste} a {insert} je celkem zavádějící, vzhledem k obecně zažitému významu.

grey
Člen | 94
+
0
-

nové makro bych nezaváděl, ale zavedl bych povinný #

newPOPE
Člen | 648
+
0
-

Majkl578 napsal(a):

Nieco podobne ma napadlo ale zdalo sa mi to prislis dlhe (s NB pluginom by to asi slo :-D)

na1k
Člen | 288
+
0
-

Podle mě je to nesmysl.

Když už změna, tak jsem pouze pro povinný #

Vyki
Člen | 388
+
0
-

Také mi vyhovuje stávající přístup. Nic bych neměnil.

Šaman
Člen | 2633
+
0
-

Jsem taky za oddělení, proč bu mělo jedno makro dělat dvě odlišné věci (co na to single responsibility principle)?

Ale tady si myslím není problém zachovat zpětnou kompatibilitu a {include #block} přeložit v Latte filtru na {insert block}. Anebo obráceně.

mancze
Člen | 58
+
0
-

Jsem pro stávající přístup, povinné # (tak to dříve i bylo, ne?) – princip jediné volby.