В чем разница между
Input::get('value')
и это:
$_GET['value']
а когда лучше использовать один из них?
Input :: get () — это функция от Laravel
$email = Input::get('email');
Примечание. Метод «get» используется для всех типов запросов (GET, POST, PUT,
и УДАЛИТЬ), а не только получать запросы.
Получить все входные данные из входного массива:
$array = Input::get();
Получить все входные данные, включая массив $ _FILES:
$input = Input::all();
И $ _GET — это суперглобальная переменная в PHP, используемая для получения параметров из
Строка запроса .
Первая строка кода
input::get('value')
это какая-то структура (возможно Ларавел 4.2Обернуть вокруг PHP GET переменные как вторая строка кода
$_GET['value']
который является PHP суперглобальный содержащие те же данные, но в простом ванильном PHP.
Таким образом, разница более или менее синтаксическая, например, как вы префикс, напишите имя и скобки:
Prefix Name Parenthesis
-none- "input::get" ()
"$" "_GET" []
Помимо синтаксических различий, первый — это вызов функции, а другой читает переменную.
Вызов функции позволяет больше взаимодействовать, например, фреймворк может внедрить код для обеспечения дополнительной функциональности в операции «чтение» (возврат / получение значения), например, позволяет указать значение по умолчанию, если вход не задан, что простой ванильный PHP не поддерживал так хорошо в прошлом (Я думаю, что это улучшится в PHP 7, но сейчас не могу найти RFC).
Дело не в том, что PHP не может работать со значениями по умолчанию для несуществующих записей переменных GET, это всего лишь небольшой пример:
$value = isset($_GET['value']) ? $_GET['value'] : null;
$ _GET — встроенная переменная PHP.
Это глобальная статическая переменная и имеет несколько плохих качеств, особенно для тестирования. Laravel ввел Input :: get (), чтобы вы могли легко поменять местами реализацию.
В Laravel не должно быть причин использовать $ _GET и использовать Input :: get (), когда это возможно.
По-видимому, Input::get()
от Laravel, как и то, что сказал @hakre.
$ _GET [‘value’] проанализирует URL, если в нем есть заданное значение.
Например, у нас есть URL http://www.example.com/index.php?myget=value
мы можем использовать $_GET['myget']
чтобы получить его значение так:
echo $_GET['myget'];
// this will print "value"