将$ _POST分配给变量的任何问题?

问题描述:

我通常会将$_POST超全球指派给像$post这样的变量来快速编写我的代码,但最近我开始思考我是否做得好或不好?

+4

“快点写我的代码” ---你是认真的? -1击键真的会改变你的东西吗? – zerkms

+0

到达'_'符号的变化是什么:) – Tarik

+1

至少把它命名为'$ P'或者简短的东西......或者写一个post函数。 – karnok

我通常写一个函数为这个:

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

但是,为了回答你的问题,不存在什么本质错。它只是有可能导致缺乏清晰度,并且$_POST在全球范围内,而您的任务不是。

那么这是一个额外的步骤,需要每次执行......如果你不在大批量应用程序上工作,它可能不会引起注意。我知道每次触摸变量名称都会让人感到痛苦,但将其重命名为更易于输入的内容并不是一个很好的编程习惯。

+3

即使在真正难以载入的应用程序中,过载也可以忽略不计 – zerkms

从技术上讲没有任何问题。

但遵循一般设计原则 - 你只是没有必要采取行动。

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

echo $_POST['name']; 

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

您可以将POST/GET全局键值分配给任何变量。只要确保按照您的需要进行消毒。

如果你期待说,

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

...等等