假设我们有以下功能:如何找到在PHP脚本中未定义的变量是在PHP
public function testSomething()
{
$name = perform_sql_query("SELECT name FROM table WHERE id = $entity_id;");
assert($name == "some_name");
}
查询语法正确,但由于$ ENTITY_ID是不确定的 - 查询总是会寻找“ID = 0”,这在语义上是不正确的。
我想这样的功能会自动失败,当他们尝试使用未定义的变量。 PHP中有这样的机制吗?或者,也许有一些工具,可以用来分析PHP源代码来找到这种情况?
UPDATE那些未定义的变量可能发生在项目中的任何地方,所以正确的决定将是检查每个函数中的函数参数。
UPDATE2帮助设置错误处理程序。现在任何时候都会使用未初始化的变量 - 抛出异常。
其他人可能想要更改错误报告出于其他原因并破坏某些东西。 – slipbull 2009-07-22 10:26:38
如果程序被证实是正确的,那有什么可以打破的?在生产现场,设置错误报告是必须的。你可以关闭现场,但看到我的答案。 – Extrakun 2009-07-22 11:30:43
其他人不应该碰到error_reporting级别。或者如果他真的*必须恢复它的原始价值。 – soulmerge 2009-07-22 11:44:34