PHP: $ _GET и $ _POST в функциях?

Ссылка Peter пригодится для Вас. Сначала необходимо будет произвести чистку любых драйверов, которые Вы уже установили, и его ссылка обойдет Вас через это. Когда я сначала установил Шмеля на своем Dell с Optimus, он использовал карту NVIDIA с optirun, но карта Intel работала без аппаратного ускорения. Если у Вас есть эта проблема, относятся к этот вопрос . Особенно часть, говоря приблизительно /var/log/Xorg.0.log должны пригодиться. Смотрите на свой файл журнала и удостоверьтесь, что библиотека GLX загружается правильно. Для меня это пыталось загрузить библиотеку NVIDIA GLX для обеих карт, и карта Intel нуждается в своей собственной библиотеке GLX. Библиотека Intel и драйверы должны уже быть установленными . Единственным драйвером, который необходимо установить, является NVIDIA один, и установка Шмеля установит это для Вас . Все, что необходимо должны быть сделать, удостоверяются, что они загружаются правильно.

7
задан Peter Mortensen 29 October 2019 в 15:42
поделиться

3 ответа

Когда вам нужно включать 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 .

С помощью второй функции, вызывающий отвечает за передачу правильных параметров; Это означает, что они могут поступать откуда угодно: функция всегда сможет выполнять свою работу.

27
ответ дан 6 December 2019 в 06:24
поделиться

$ _ GET и $ _POST - глобальные переменные. У них есть значения, а не методы.

Это их значения, которые вы хотите отправить функциям, а классы / функции обычно не должны знать ничего за пределами них, например, откуда данные. Многие используют сокращение использования глобальных переменных в функциях, что ограничивает удобство использования их функций.

1
ответ дан 6 December 2019 в 06:24
поделиться

Вам не нужно их отправлять в качестве параметров функции, поскольку они являются глобальными переменными (доступны везде в коде).

Но всегда рекомендуется фильтровать и проверять их, прежде чем использовать их в своем коде.

0
ответ дан 6 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: