PHP Input::get() 和 $_GET[] 的区别
PHP Difference between Input::get() and $_GET[]
有什么区别
Input::get('value')
还有这个:
$_GET['value']
什么时候使用其中之一更好?
第一行代码
input::get('value')
是一些框架(可能Laravel 4.2) wrapper around PHP GET variables像第二行代码
$_GET['value']
这是一个 PHP superglobal,包含相同的数据,但是是普通的 PHP。
所以区别或多或少是语法上的,例如你如何前缀,写名字和括号:
Prefix Name Parenthesis
-none- "input::get" ()
"$" "_GET" []
除了语法差异之外,第一个是函数调用,而另一个是读取变量。
函数调用允许更多交互,例如该框架可以注入代码以在 "read" 操作(returning/getting 值)中提供额外的功能,例如允许在未设置输入时指定默认值,而普通的 PHP 没有过去支持得不好(我认为 PHP 7 中会有改进,但现在找不到 RFC)。
并不是说 PHP 不能处理不存在的 GET 变量条目的默认值,这只是一些小样板:
$value = isset($_GET['value']) ? $_GET['value'] : null;
显然,Input::get()
来自 Laravel,就像@hakre 所说的那样。
$_GET['value'] 将解析 URL 如果其中有设置值。
例如我们有一个urlhttp://www.example.com/index.php?myget=value
我们可以使用 $_GET['myget']
来获取它的值,如下所示:
echo $_GET['myget'];
// this will print "value"
Input::get() 是 Laravel
的函数
$email = Input::get('email');
Note: The "get" method is used for all request types (GET, POST, PUT,
and DELETE), not just GET requests.
从输入数组中检索所有输入:
$array = Input::get();
检索所有输入,包括 $_FILES 数组:
$input = Input::all();
And $_GET is superglobal variable in PHP used to get parameters from
querystring .
$_GET 是 PHP 内置变量。
它是全局静态变量,有几个缺点,尤其是对于测试。 Laravel 引入了 Input::get(),因此您可以轻松交换实现。
在 Laravel 中没有理由使用 $_GET 并尽可能使用 Input::get()。
Input::get('value')
还有这个:
$_GET['value']
什么时候使用其中之一更好?
第一行代码
input::get('value')
是一些框架(可能Laravel 4.2) wrapper around PHP GET variables像第二行代码
$_GET['value']
这是一个 PHP superglobal,包含相同的数据,但是是普通的 PHP。
所以区别或多或少是语法上的,例如你如何前缀,写名字和括号:
Prefix Name Parenthesis
-none- "input::get" ()
"$" "_GET" []
除了语法差异之外,第一个是函数调用,而另一个是读取变量。
函数调用允许更多交互,例如该框架可以注入代码以在 "read" 操作(returning/getting 值)中提供额外的功能,例如允许在未设置输入时指定默认值,而普通的 PHP 没有过去支持得不好(我认为 PHP 7 中会有改进,但现在找不到 RFC)。
并不是说 PHP 不能处理不存在的 GET 变量条目的默认值,这只是一些小样板:
$value = isset($_GET['value']) ? $_GET['value'] : null;
显然,Input::get()
来自 Laravel,就像@hakre 所说的那样。
$_GET['value'] 将解析 URL 如果其中有设置值。
例如我们有一个urlhttp://www.example.com/index.php?myget=value
我们可以使用 $_GET['myget']
来获取它的值,如下所示:
echo $_GET['myget'];
// this will print "value"
Input::get() 是 Laravel
的函数$email = Input::get('email');
Note: The "get" method is used for all request types (GET, POST, PUT, and DELETE), not just GET requests.
从输入数组中检索所有输入:
$array = Input::get();
检索所有输入,包括 $_FILES 数组:
$input = Input::all();
And $_GET is superglobal variable in PHP used to get parameters from querystring .
$_GET 是 PHP 内置变量。
它是全局静态变量,有几个缺点,尤其是对于测试。 Laravel 引入了 Input::get(),因此您可以轻松交换实现。
在 Laravel 中没有理由使用 $_GET 并尽可能使用 Input::get()。