加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP脚本中查找未定义的变量

发布时间:2020-12-13 21:59:46 所属栏目: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中有以下功能:

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源代码以找到这种情况?

更新这些未定义的变量可以出现在项目的任何地方,因此正确的决定是检查每个函数中的函数参数.

UPDATE2设置错误处理程序帮助.现在,无论何时使用未初始化的变量,都会抛出异常.

解决方法

需要考虑的一个问题是,对于实际站点,您可能不希望用户看到错误和警告.一些web-host提供了一个记录php错误的error.log.这是实时网站的自定义错误处理程序:

function log_error($no,$msg,$file,$line)
{

    $errorMessage = "Error no $no: $msg in $file at line number $line";

    file_put_contents("errors_paypal.txt",$errorMessage."nn",FILE_APPEND);    
}

set_error_handler('log_error');

关于这一点的好处是你可以格式化它并转储你想要的各种信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读