The return type for a template resolver should simply be string. Any kind of failure should cause an exception, ideally something like TemplateNotFound.
All existing resolvers are marked as @final and there are several additional deprecations to clean up un-documented behaviour.
The baseline should be relatively even - most of the solved issues have been replaced with deprecation issues + some new issues surfaced by the type inference improvements.
Deprecations
Additional protected properties relating to already deprecated stream wrappers
public error constants that will be unnecessary in 3.0 when resolvers throw exceptions instead of returning false.
(Undocumented) Using TemplateMapResolver::add(string, null) to remove individual templates - this now triggers E_USER_DEPRECATED
AggregateResolver::getLastSuccessfulResolver() - likely exists only for tests
AggregateResolver::getLastLookupFailure() - again, probably only there for tests
TemplatePathStack::getLastLookupFailure() - as above
The return type for a template resolver should simply be
string
. Any kind of failure should cause an exception, ideally something likeTemplateNotFound
.All existing resolvers are marked as
@final
and there are several additional deprecations to clean up un-documented behaviour.The baseline should be relatively even - most of the solved issues have been replaced with deprecation issues + some new issues surfaced by the type inference improvements.
Deprecations
TemplateMapResolver::add(string, null)
to remove individual templates - this now triggersE_USER_DEPRECATED
AggregateResolver::getLastSuccessfulResolver()
- likely exists only for testsAggregateResolver::getLastLookupFailure()
- again, probably only there for testsTemplatePathStack::getLastLookupFailure()
- as above