目前我需要在每个测试用例的开头放置
<?php declare(strict_types=1);
运行Phpunit时,是否有更好的自动设置位置
答案 0 :(得分:3)
不幸的是,无法在全局或每个目录中设置此指令。你必须在每个文件的开头添加这一行。
有关没有全局选项https://wiki.php.net/rfc/scalar_type_hints_v5#strict_types_declare_directive
的原因的详细信息,请参阅此rfc答案 1 :(得分:0)
默认情况下(已在the duplicate Q&A material on the topic中已经回答)严格类型被禁用,您需要启用它们。
使用vanilla PHP,需要在每个文件级别上完成。
如果您不想手动编辑所有文件,PHP-CS-Fixer或nikic/TypeUtil等实用程序可以帮助您解决繁重问题。
可以通过modifying the PHP core(或使用php-strict
PHP扩展来更改默认行为,这会启用默认设置,这是您要求的 - 但该扩展目前无法立即编译为7.0 - 7.2 b / c它不兼容,需要更重的固定。)
现在一个实用的方法可能就是使用工具。也许是猴子修补la Patchwork2,但我从未尝试过CeWL 5.2 (Some Chaos) Robin Wood (robin@digi.ninja) (https://digi.ninja/)
Traceback (most recent call last):
2: from /usr/local/bin/cewl:93:in `<main>'
1: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- ./cewl_lib (LoadError)
。