-1

假设使用 isset() 函数,在将 ID 分配给变量或在后面代码中的某个位置使用它之前,我们检查了 ID 是否确实存在或用户确实提交了 ID。

     <?php

        if(isset($_GET['Id']))
    {

     $Id=$_GET['Id'];
    }
?>

现在我明白了,这样做很好

1)所以代码按照预期的行为,即做它预期完成的事情。例如 - 如果要在某个查询中使用 id,该查询将基于该 id 返回一行,则提供一个有效的 id 以确保查询确实返回一行作为结果总是一个好主意......这个如果没有提供有效的 id,可以避免查询失败的意外行为。

2)很明显,最大限度地减少我们的代码可能产生的任何运行时错误。

因此,我正在寻找更多相关的示例和上下文,以了解为什么这始终是一种很好的编程实践。

基本上更多的例子可以帮助我理解为什么这样做真的很好......非常感谢。

4

1 回答 1

1

想想未来。

如果您$id = $_GET['id']稍后简单地声明并使用该变量,您的应用程序可能会以意想不到的方式运行。

假设下周你回来写一些使用那个方便$id变量的代码。通过浏览文件,您会看到它在其他地方使用,并且不打算不设置它。该代码在您快速测试时有效,但在实际使用中失败。也许它出错了,也许它吐出了一个管理页面,也许它爆炸并杀死了小狗,谁知道呢?

如果您更加小心,并执行以下操作:

$id = 0; //default document
if (isset($_GET['id'])
{
  $id = $_GET['id'];
}

您的代码将始终可以$id使用。请注意那里的小补充,在我将它的值分配给另一个变量之前,我并没有简单地确保它$_GET['id']存在,我已经确保$id/always/ 有一个值。

如果我聪明一点,我可能会做这样的事情:if (isset($_GET['id'] && ctype_digit($_GET['id']) && isValidId($_GET['id']))

于 2013-01-24T23:30:48.660 回答