我对代码感到惊讶,其中 GET 值,例如$_GET['username']
,不作为函数的参数包含在内。
什么时候需要包含 POST 和 GET 方法作为函数的参数?
什么时候需要包含 POST
和 GET 方法作为参数
功能?
我会说“永远”:$_GET
and $_POST
就是所谓的超全局变量 http://php.net/manual/en/language.variables.superglobals.php:它们存在于整个脚本中;这意味着它们存在于函数/方法内部。
特别是,你不需要global http://php.net/manual/en/language.variables.scope.php#language.variables.scope.global那些的关键字。
尽管如此,依赖函数/方法中的那些是非常糟糕的做法:您的函数/方法通常不应该依赖于任何未作为参数传递的内容。
我的意思是;考虑这两个函数:
function check_login_password()
{
$login = $_GET['login'];
$password = $_GET['password'];
// Work with $login and $password
}
and
/**
* Check login and password
*
* @param $login string
* @param $password string
* @return boolean
*/
function check_login_password($login, $password)
{
// Work with $login and $password
}
好的,对于第一个,您不必传递两个参数...但是该函数不会是独立的,并且在您必须检查几个不支持的登录名/密码的任何情况下都不会工作来自$_GET
.
对于第二个函数,调用者负责传递正确的参数;这意味着它们可以来自您想要的任何地方:该功能将始终能够完成其工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)