【发布时间】:2023-03-22 16:15:01
【问题描述】:
我目前正在将我的网站从 PHP5 迁移到 PHP7,并且我已经开始使用添加的严格输入功能。但是,这需要我以以下行开始所有文件:
<?php declare(strict_types=1);
// All other code here
// ...
所以我想知道,有没有办法使用php.ini 或apache 配置文件之类的东西全局启用strict_types,这样我就不必每次都写这一行,如果是这样,我该如何启用它?
【问题讨论】:
-
不,这是不可能的。
-
您可以使用
sed、awk或您选择的其他工具将所有<?php替换为<?php declare(strict_types=1);... -
@NikiC 我很确定任何 IDE 中的简单查找替换都会做同样的事情,我只是想知道是否可以在运行时将其作为标准功能执行,因为我做不到找到有关它的任何信息
-
你总是可以有一个 git 钩子来检查以确保所有 PHP 文件都以
<?php declare(strict_types=1);作为第一行。这会为您的项目强制执行它,而不会强制库 -
PHP CS Fixer 中的 declare_strict_types 选项可以强制所有文件中的严格类型。比字符串替换更好,例如,如果您有多个开始标签。它可以在 IDE 中自动集成和运行。
标签: php apache php-7 variable-types