imagine_filter fail when lazy mode is enabled #4808
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi everybody !
The problem occurs when I use the VichImageType and its form widget associated.
This line
ea_apply_filter_if_exists('imagine_filter', formTypeOptions.imagine_pattern)
fail.I got the error
Non-static method Liip\ImagineBundle\Templating\LazyFilterRuntime::filter() cannot be called statically
when liip_imagine is configurered in lazy modeEverything works very well if this mode is disabled.
You can reproduce that problem with the current version of Symfony ( 5.3 ) with php 8.
Just a more complex problem, getFilter is marked as internal by Twig twigphp/Twig#1889
So, we shouldn't use it... but I don't see how to avoid it :-/
I also changed the strict comparison, because on version 2 getFilter can return false but on version 3 it can return null.
Thanks a lot for your review :)