Files
smarty/TODO.txt
Simon Wisselink 7255b4d73c Internal compiler classes always return a string (#918)
* Internal compiler classes always return a string (the internal has_code flag has been removed for simplicity)
* Add :string method signature to compile method everywhere.
2024-03-25 13:44:06 +01:00

33 lines
1.2 KiB
Plaintext

# @TODO
## CI-building optimization
- compiled & cached templates should not contain references to local filesystem paths. Add an optional rootpath param
to `(add|set)TemplateDir` or as a separate method. Make it default to `getcwd()`. If a relative path is passed to
`(add|set)TemplateDir`, prefix it with the rootpath at runtime, but do not store the path.
## Review direct variable property access
- review ->value{$index} in ForTag
## include inline
- Re-introduce merge_compiled_includes and the {include inline} attribute?
## Output buffering
- Fix ob_ output buffering commands being scattered around the codebase
## Review public static vars
- such as _CHARSET and _IS_WINDOWS
## Block / inheritance
- Consider phasing out $smarty.block.child as this reverses the inheritance hierarchy and might cause infinite loops
when combined with $smarty.block.parent
## Plugin system
- fix template security checks in one place in compiler
## Beatify output
- compiled templates could be proper classes, possibly using [nette/php-generator](https://packagist.org/packages/nette/php-generator)
## Unrelated / other
- review (and avoid) use of 'clone' keyword
- what is 'user literal support', why are unit tests skipped?