将$_POST赋值给变量有问题吗?


Any Problem with assigning $_POST to a variable?

我通常做分配$_POST超全局变量像$post来快速编写我的代码,但我最近开始思考我做的是好还是不好?

我通常为此写一个函数:

function post($key) {
   return isset($_POST[$key]) ? trim($_POST[$key]) : null;
}

但是回答你的问题,没有本质上的错误。它只是有可能缺乏清晰度,$_POST是在全局范围内,而你的任务不是。

技术上没有任何问题。

但是遵循一般的设计原则——你只是做了不必要的操作。

在我看来,这不是一个好主意,因为它将来会让其他人感到困惑。哪个更清楚?

echo $_POST['name'];

$post = $_POST;
// ... lots of code in between
echo $post['name'];

这是一个额外的步骤,需要每次执行…如果您不是在处理一个大容量的应用程序,那么它可能不会被注意到。我知道每次触摸变量名都很痛苦,但是将其重命名为更容易输入的东西并不是一个好的编程实践。

您可以为任何变量分配POST/GET全局键值。只要确保根据你的需要对它进行消毒。

如果你想说

$employer_id = (int)$_GET['id'];

…所以在