我目前正在将我的网站从PHP5迁移到PHP7,并且我已经开始使用添加的严格输入功能。但是,这需要我使用以下行开始所有文件:
strict_types
所以我想知道,有没有办法使用php.ini
或apache配置文件全局启用{{1}}所以我不必每次都写这行,如果是这样的话我可以启用吗?
答案 0 :(得分:38)
这是故意不可能的,因为在标量类型提示的极长讨论之后采用的实现是这样的:https://wiki.php.net/rfc/scalar_type_hints_v5
它明确地选择了如何向任何函数的调用者检查标量类型,而不是其作者,以便:
因此,由您来告诉PHP哪些文件已被编写为使用严格类型模式,哪些文件没有?而这样做的方法是使用declare
语句。
答案 1 :(得分:3)
答案 2 :(得分:1)
基本上没有。
因为如果您只需要使用严格模式的库,则会导致不必要的包分离。 还要考虑严格/弱类型选项只是PHP中的一个额外选项。