1515use Nette \DI \Definitions \Statement ;
1616use Nette \Schema \Expect ;
1717use Tracy ;
18- use function class_exists , explode , is_string , str_contains , version_compare ;
18+ use function class_exists , is_string ;
1919
2020
2121/**
@@ -34,7 +34,6 @@ public function getConfigSchema(): Nette\Schema\Schema
3434 {
3535 return Expect::structure ([
3636 'debugger ' => Expect::anyOf (true , false , 'all ' ),
37- 'macros ' => Expect::arrayOf ('string ' ),
3837 'extensions ' => Expect::arrayOf ('string|Nette\DI\Definitions\Statement ' ),
3938 'templateClass ' => Expect::string (),
4039 'strictTypes ' => Expect::bool (false ),
@@ -54,40 +53,30 @@ public function loadConfiguration(): void
5453 $ config = $ this ->config ;
5554 $ builder = $ this ->getContainerBuilder ();
5655
57- $ latteFactory = $ builder ->addFactoryDefinition ($ this ->prefix ('latteFactory ' ))
56+ $ builder ->addFactoryDefinition ($ this ->prefix ('latteFactory ' ))
5857 ->setImplement (ApplicationLatte \LatteFactory::class)
5958 ->getResultDefinition ()
6059 ->setFactory (Latte \Engine::class)
6160 ->addSetup ('setTempDirectory ' , [$ this ->tempDir ])
6261 ->addSetup ('setAutoRefresh ' , [$ this ->debugMode ])
63- ->addSetup ('setStrictTypes ' , [$ config ->strictTypes ]);
64-
65- if (version_compare (Latte \Engine::VERSION , '3 ' , '< ' )) {
66- foreach ($ config ->macros as $ macro ) {
67- $ this ->addMacro ($ macro );
68- }
69- } else {
70- $ latteFactory ->addSetup ('setStrictParsing ' , [$ config ->strictParsing ])
62+ ->addSetup ('setStrictTypes ' , [$ config ->strictTypes ])
63+ ->addSetup ('setStrictParsing ' , [$ config ->strictParsing ])
7164 ->addSetup ('enablePhpLinter ' , [$ config ->phpLinter ])
72- ->addSetup ('setLocale ' , [$ config ->locale ]);
73-
74- $ builder ->getDefinition ($ this ->prefix ('latteFactory ' ))
75- ->getResultDefinition ()
65+ ->addSetup ('setLocale ' , [$ config ->locale ])
7666 ->addSetup ('? ' , [$ builder ::literal ('func_num_args() && $service->addExtension(new Nette\Bridges\ApplicationLatte\UIExtension(func_get_arg(0))) ' )]);
7767
78- if ($ builder ->getByType (Nette \Caching \Storage::class)) {
79- $ this ->addExtension (new Statement (Nette \Bridges \CacheLatte \CacheExtension::class));
80- }
81- if (class_exists (Nette \Bridges \FormsLatte \FormsExtension::class)) {
82- $ this ->addExtension (new Statement (Nette \Bridges \FormsLatte \FormsExtension::class));
83- }
68+ if ($ builder ->getByType (Nette \Caching \Storage::class)) {
69+ $ this ->addExtension (new Statement (Nette \Bridges \CacheLatte \CacheExtension::class));
70+ }
71+ if (class_exists (Nette \Bridges \FormsLatte \FormsExtension::class)) {
72+ $ this ->addExtension (new Statement (Nette \Bridges \FormsLatte \FormsExtension::class));
73+ }
8474
85- foreach ($ config ->extensions as $ extension ) {
86- if ($ extension === Latte \Essential \TranslatorExtension::class) {
87- $ extension = new Statement ($ extension , [new Nette \DI \Definitions \Reference (Nette \Localization \Translator::class)]);
88- }
89- $ this ->addExtension ($ extension );
75+ foreach ($ config ->extensions as $ extension ) {
76+ if ($ extension === Latte \Essential \TranslatorExtension::class) {
77+ $ extension = new Statement ($ extension , [new Nette \DI \Definitions \Reference (Nette \Localization \Translator::class)]);
9078 }
79+ $ this ->addExtension ($ extension );
9180 }
9281
9382 $ builder ->addDefinition ($ this ->prefix ('templateFactory ' ))
@@ -130,40 +119,12 @@ public static function initLattePanel(
130119 $ control = $ template ->getLatte ()->getProviders ()['uiControl ' ] ?? null ;
131120 if ($ all || $ control instanceof Nette \Application \UI \Presenter) {
132121 $ name = $ all && $ control ? (new \ReflectionObject ($ control ))->getShortName () : '' ;
133- if (version_compare (Latte \Engine::VERSION , '3 ' , '< ' )) {
134- $ bar ->addPanel (new Latte \Bridges \Tracy \LattePanel ($ template ->getLatte (), $ name ));
135- } else {
136- $ template ->getLatte ()->addExtension (new Latte \Bridges \Tracy \TracyExtension ($ name ));
137- }
122+ $ template ->getLatte ()->addExtension (new Latte \Bridges \Tracy \TracyExtension ($ name ));
138123 }
139124 };
140125 }
141126
142127
143- public function addMacro (string $ macro ): void
144- {
145- $ builder = $ this ->getContainerBuilder ();
146- $ definition = $ builder ->getDefinition ($ this ->prefix ('latteFactory ' ))->getResultDefinition ();
147-
148- if (($ macro [0 ] ?? null ) === '@ ' ) {
149- if (str_contains ($ macro , ':: ' )) {
150- [$ macro , $ method ] = explode (':: ' , $ macro );
151- } else {
152- $ method = 'install ' ;
153- }
154-
155- $ definition ->addSetup ('?->onCompile[] = function ($engine) { ?-> ' . $ method . '($engine->getCompiler()); } ' , ['@self ' , $ macro ]);
156-
157- } else {
158- if (!str_contains ($ macro , ':: ' ) && class_exists ($ macro )) {
159- $ macro .= '::install ' ;
160- }
161-
162- $ definition ->addSetup ('?->onCompile[] = function ($engine) { ' . $ macro . '($engine->getCompiler()); } ' , ['@self ' ]);
163- }
164- }
165-
166-
167128 public function addExtension (Statement |string $ extension ): void
168129 {
169130 $ extension = is_string ($ extension )
0 commit comments