gpt4 book ai didi

PHP:编写严格的代码有什么好处吗?

转载 作者:行者123 更新时间:2023-12-04 00:08:14 25 4
gpt4 key购买 nike

当我设置 error_reporting(E_ALL | E_STRICT); 时,我的代码产生了 Undefined variable 错误。我可以解决它们,但我想知道编写通过严格检查的代码与仅关闭 E_STRICT 之间在速度或内存使用方面是否存在任何差异?

最佳答案

没有机械效益。但是,您可以避免做一些非常常见、非常愚蠢的事情,比如在使用变量之前并不总是初始化它——因为启用 E_STRICT 后,PHP 将生成一个错误,而不是允许函数潜在地中断——灾难性的,可能是看不见的方式。

例如,完全可以想象,一个数据库支持的应用程序使用一个未被所有可能的执行路径初始化的变量:

// Adds an allergy to the user's records
public function Add($AllergyID) {
$Patient = $this->Patient->Load();

if ($Patient->Insurance->StartDate < now()) {
$Allergies = $Patient->Allergies->Get();
$Allergies[] = $AllergyID;
}

$Patient->Allergies->Set($Allergies);
}

最终它没有被初始化,某人的病历表被默默地截断了。

简而言之,您应该始终在所有警告的情况下进行开发:这是您的第一道防线。但是,当需要将您的代码投入生产时,您绝对希望关闭错误报告。您不希望恶意用户深入了解您的应用程序的内部工作,或者 - 更糟 - 您的数据库。

关于PHP:编写严格的代码有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12085755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com