driveto / phpstan-twig
PHPStan 的 Twig 扩展
0.0.1
2022-08-15 07:32 UTC
Requires
- php: ^8.0
- nikic/php-parser: ^4.14
- phpstan/phpstan: ^1.8
Requires (Dev)
- consistence-community/coding-standard: ^3.11
- phpstan/phpstan-phpunit: ^1.1
- phpstan/phpstan-strict-rules: ^1.3
- phpunit/phpunit: ^9.5
- slevomat/coding-standard: ^8.3
- squizlabs/php_codesniffer: ^3.7
- symfony/framework-bundle: ^5.0 || ^6.0
- twig/twig: ^3.4
This package is not auto-updated.
Last update: 2024-09-24 14:16:40 UTC
README
受到 @TomasVortuba 博客系列启发 - https://tomasvotruba.com/blog/stamp-1-how-to-compile-twig-to-php/
已知问题
- 性能
- 目前,模板仅按顺序处理
- 相同的模板包含相同的变量在多个模板中会被多次检查
- 当包含模板的深度更高时,内存使用量较大
- 不支持方法名称猜测。我相信模板引擎不应该猜测程序员想要使用哪个方法。因此,如果您想使用方法,请使用完整名称和括号
{{ class.fullMethodName() }}
安装
要使用此扩展,请在 Composer 中引入它
composer require --dev driveto/phpstan-twig
在您的 PHPStan 配置中包含 extension.neon
includes:
- vendor/driveto/phpstan-twig/extension.neon
在 phpstan.neon 中添加到 Twig 服务的路径
parameters:
twig:
twigEnvironmentLoader: tests/TwigEnvironmentLoader.php
Twig 加载器示例
use App\Kernel; use Symfony\Component\Dotenv\Dotenv; require __DIR__ . '/../vendor/autoload.php'; (new Dotenv())->bootEnv(__DIR__ . '/../.env'); $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); $kernel->boot(); return $kernel->getContainer()->get('twig');