目前,我需要把每个测试用例的开头
<?php declare(strict_types=1);
在运行Phpunit时,有没有更好的地方自动设置
发布于 2018-06-14 23:30:17
不幸的是,无法全局或按目录设置此指令。您必须在每个文件的开头添加此行。
有关为什么没有全局选项https://wiki.php.net/rfc/scalar_type_hints_v5#strict_types_declare_directive的更多详细信息,请参阅此rfc
发布于 2018-06-18 05:01:24
默认情况下(已经回答过了,在the duplicate Q&A material on the topic中也是如此)严格类型是禁用的,您需要启用它们。
对于普通的PHP,这需要在每个文件级别上完成。
如果您不想手动编辑所有文件,像PHP-CS-Fixer或nikic/TypeUtil这样的实用程序可以帮您完成繁重的工作。
这个默认行为可以通过modifying the PHP core来改变(或者使用php-strict
PHP扩展,它使启用成为默认,这是你所要求的--但是这个扩展现在不能在7.0 -7.2b/c上编译,它是不兼容的,需要更繁重的修复)。
因此,现在一种实用的方法可能是使用工具。也许猴子修补一个la Patchwork2是有效的,但我从来没有用declare(...)
尝试过。
https://stackoverflow.com/questions/50860767
复制相似问题