我对代码感到不知所措,其中GET值(例如)$_GET['username']不作为函数的参数包括在内。
$_GET['username']
什么时候需要将POST和GET方法包括为函数的参数?
您何时需要将POST和GET方法包括为函数的参数?
我会说:“从来没有”:$_GET和$_POST什么叫做超全局:他们在整个脚本存在; 这意味着它们存在于函数/方法中。
$_GET
$_POST
特别是,您不需要global那些关键字。
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。
通过第二个功能,调用者负责传递正确的参数;这意味着它们可以来自任何您想要的地方:该功能将始终能够完成其工作。