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

hhh*_*hhh 7 php post get function

我对代码感到惊讶,其中GET值$_GET['username']不包含在函数的参数中.

你什么时候需要包含POST和GET方法作为函数的参数?

Pas*_*TIN 27

你什么时候需要包含POST和GET方法作为函数的参数?

我会说"永远":$_GET并且$_POST是所谓的超级全球:它们存在于整个剧本中; 这意味着它们存在于函数/方法中.

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


仍然,依赖于函数/方法中的那些是非常糟糕的做法:您的函数/方法通常不应该依赖于未作为参数传递的任何东西.

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

function check_login_password()
{
    $login = $_GET['login'];
    $password = $_GET['password'];
    // Work with $login and $password
}
Run Code Online (Sandbox Code Playgroud)

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

好的,使用第一个参数,你不必传递两个参数......但是这个函数不会是独立的,并且在你必须检查几个没有的登录/密码的任何情况下都不会起作用来自$_GET.

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