migrify / template-checker
Check your TWIG templates
Requires
- php: >=7.3
- nette/utils: ^3.2
- nikic/php-parser: ^4.10.4
- symfony/console: ^4.4|^5.2
- symfony/dependency-injection: ^5.2
- symfony/http-kernel: ^4.4|^5.2
- symfony/yaml: ^4.4|^5.2
- symplify/symplify-kernel: ^9.2.6
Requires (Dev)
- latte/latte: ^2.10
- nette/application: ^3.1
- phpunit/phpunit: ^9.5
- dev-main
- dev-master / 9.3.x-dev
- v9.2.6
- v9.2.5
- v9.2.4
- v9.2.3
- v9.2.2
- 9.2.1
- 9.2.0
- 9.1.9
- 9.1.8
- 9.1.7
- 9.1.6
- 9.1.5
- 9.1.4
- 9.1.3
- 9.1.1
- 9.1.0
- 9.0.50
- 9.0.49
- 9.0.48
- 9.0.47
- 9.0.46
- 9.0.45
- 9.0.44
- 9.0.43
- 9.0.42
- 9.0.41
- 9.0.40
- 9.0.39
- 9.0.38
- 9.0.37
- 9.0.36
- 9.0.35
- 9.0.34
- 9.0.33
- 9.0.32
- 9.0.31
- 9.0.30
- 9.0.29
- 9.0.28
- 9.0.27
- 9.0.26
- 9.0.25
- 9.0.24
- 9.0.23
- 9.0.22
- 9.0.21
- 9.0.20
- 9.0.19
- 9.0.18
- 9.0.17
- 9.0.16
- 9.0.15
- 9.0.14
- 9.0.13
- 9.0.12
- 9.0.11
- 9.0.10
- 9.0.9
- 9.0.8
- 9.0.7
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 9.0.0-rc1
- 9.0.0-BETA9
- 9.0.0-BETA8
- 9.0.0-BETA7
- 9.0.0-BETA6
- 9.0.0-BETA5
- 9.0.0-BETA4
- 9.0.0-BETA3
- 9.0.0-BETA2
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.59
- 0.3.52
- 0.3.51
- 0.3.50
- 0.3.49
- 0.3.48
- 0.3.47
- 0.3.46
- 0.3.45
- 0.3.44
- 0.3.43
- 0.3.42
- 0.3.41
- 0.3.40
- 0.3.39
- 0.3.38
- 0.3.37
- 0.3.36
- 0.3.35
- 0.3.34
- 0.3.33
- v0.3.32
- v0.3.31
- v0.3.30
- v0.3.29
- v0.3.28
- v0.3.27
- v0.3.26
This package is auto-updated.
Last update: 2021-03-11 14:19:04 UTC
README
Check your TWIG templates
Install
composer require symplify/template-checker --dev
Usage
Check Latte Templates
- for existing classes
- for existing class constants
- for existing static calls
vendor/bin/template-checker check-latte-template templates
Check Twig Controller Paths
final class SomeController { public function index() { return $this->render('does_path_exist.twig'); } }
vendor/bin/template-checker check-twig-render src/Controller
Extract Static Calls from Latte Templates to FilterProvider
Do you have a static call in your template? It's a hidden filter. Let's decouple it so we can use DI and services as in the rest of project:
vendor/bin/template-checker extract-latte-static-call-to-filter templates
But that's just a dry run... how to apply changes?
vendor/bin/template-checker extract-latte-static-call-to-filter templates --fix
What happens? The static call will be replaced by a Latte filter:
# any latte file -{\App\SomeClass::someStaticMethod($value)} +{$value|someStaticMethod}
The filter will be provided
use App\Contract\Latte\FilterProviderInterface; use App\SomeClass; final class SomeMethodFilterProvider implements FilterProviderInterface { public const FILTER_NAME = 'someMethod'; public function __invoke(string $name): int { return SomeClass::someStaticMethod($name); } public function getName(): string { return self::FILTER_NAME; } }
The file will be generated into /generated
directory. Just rename namespaces and copy it to your workflow.
Do you want to know more about clean Latte filters? Read How to Get Rid of Magic, Static and Chaos from Latte Filters
Report Issues
In case you are experiencing a bug or want to request a new feature head over to the Symplify monorepo issue tracker
Contribute
The sources of this package are contained in the Symplify monorepo. We welcome contributions for this package on symplify/symplify.