Когда вам нужно включить POST
и получить методы в качестве параметров для
функции?
Я бы сказал «никогда»: $_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
.
Со второй функцией вызывающая сторона отвечает за передачу правильных параметров; это означает, что они могут прийти откуда угодно: функция всегда сможет выполнить свою работу.