一尘不染

PHP:函数中的$ _GET和$ _POST?

php

我对代码感到不知所措,其中GET值(例如)$_GET['username']不作为函数的参数包括在内。

什么时候需要将POST和GET方法包括为函数的参数?


阅读 594

收藏
2020-05-29

共1个答案

一尘不染

您何时需要将POST和GET方法包括为函数的参数?

我会说:“从来没有”:$_GET$_POST什么叫做超全局:他们在整个脚本存在;
这意味着它们存在于函数/方法中。

特别是,您不需要global那些关键字。

但是,依靠函数/方法中的那些方法还是很不习惯的:您的函数/方法通常不应该依赖未作为参数传递的任何内容。

我的意思是; 考虑这两个功能:

function check_login_password()
{
    $login = $_GET['login'];
    $password = $_GET['password'];
    // Work with $login and $password
}

/**
 * Check login and password
 *
 * @param $login string
 * @param $password string
 * @return boolean
 */
function check_login_password($login, $password)
{
    // Work with $login and $password
}

好的,在第一个参数中,您不必传递两个参数…但是该函数将不是独立的,并且在您必须检查几个登录名/密码不正确的情况下也不起作用。来自$_GET

通过第二个功能,调用者负责传递正确的参数;这意味着它们可以来自任何您想要的地方:该功能将始终能够完成其工作。

2020-05-29