我知道declare(strict_types=1);语句,它打开了包含该语句的文件的严格类型. 然而,如果您想要为整个应用程序启用它,在每个单独的PHP文件中包含它会感觉不必要的复杂.

因为PHP有include/require语句,其中包括另一个脚本文件,基本上是将其代码"插入"到当前的脚本文件中,我想知道只将其包括在"基本"文件中是否足够,例如index.php或autoloader.这对我来说不管用.

所以基本上我只是在想,是否有一种更聪明的方法来支持整个php应用程序的严格类型,就像我在每个文件中都包含了这条语句一样. 可能是运行时标志、ini设置、扩展或其他什么?

推荐答案

从最初提出这一建议的RFC人开始:

为什么不为默认模式添加INI设置

它被一种机制(ini或编译时标志等)要求提供将默认模式从"弱"切换到"严格"的能力.

当前位置

这项建议认为,修改switch 的行为,如ini设置,是可移植性的致命代价,设计良好的语言不应基于"全局设置"来更改行为.因此,切换严格模式仍将是此提案的每个文件的设置.

在这个时候,这仍然是PHP的状态.会改变吗?这thread个有一些见解稍微更当前的立场,但我认为要点是"它不做很多人认为它做的事情",以及"编写代码的人应该有 Select ".(对于后者,一个常见的反驳是"我是编写代码的人",这对你的项目来说可能是真的,但是这个设置会允许某人为其他人的代码打开它.

Php相关问答推荐

为什么这个方法调用用引号和花括号包裹?

在WooCommerce中处理客户总支出中的退款

模型中的Laravel自定义查询字段

在ShipStation for WooCommerce中使用自定义订单项目元数据

Laravel;Composer安装突然返回选项快捷方式不能为空.

PHP MySQL求和子树并与父树累加

如何在UML类图中可视化变量引用数组

允许客户定义特定WooCommerce产品的价格

Rappasoft Datatables V2(我想在另一个表具有相同值列时显示数据)

对 WooCommerce 购物车和 checkout 中显示的运输方式进行排序

如何判断php中wordpress路径之外的文件夹是否存在?

Firefox 115 会话行为:为什么页面无法找到要加载的现有会话 ID?

PHP 中的curl -F request=@file.xml

Laravel路由中的符号在slug中会创建额外的斜杠

PHP:如何将多列sql查询结果转换成数组

在 PHP 中验证签名

htaccess php 文件,然后是文件夹

如何在 WooCommerce 中显示每个自定义选项卡的内容

Laravel Websockets 错误:(WebSocket 在建立连接之前关闭)

htaccess 无限循环问题