我知道当我们使用GET方法跨页面或在同一页面内传递数据时,我们使用GET函数从php中的url获取变量。
然而
$obj = new BlahBlahName($_GET);
这是做什么的?
答案 0 :(得分:6)
它只是将$_GET
数组传递给BlahBlahName
constructor。在创建BlahBlahName
对象时,构造函数可能会从数组中提取所需的任何内容。
$_GET
不是函数;相反,它是请求中提供的associative array of variables。 出于某种原因w3schools calls it a function;这似乎有误导性。 *
如果您感到好奇,请查看BlahBlahName
__construct()
函数的实际代码(如果可以的话),以准确了解它对变量的作用。
* W3schools已经更新了他们对$_GET
的描述
答案 1 :(得分:0)
它使用$ _GET数组创建一个新的BlahBlahName对象。构造函数可能会解析数组中的值并将它们分配给BlahBlahName属性。
答案 2 :(得分:0)
调用BlahBlahName
的构造函数并传递$_GET
并将其分配给$obj
。
答案 3 :(得分:0)
它会将数组 $ _ GET 传递给 BlahBlahName 类的构造函数。 $ _ GET 是在网址中传递的变量数组。
答案 4 :(得分:0)
new BlahBlahName 会将对象/类的新实例返回给$ obj变量。从这里你可以调用类中的方法,例如的 $ obj->()的方法即可。它将使用的类将是 BlahBlahName 。
在你的代码中,你将$ _GET数组传递给类构造函数,这实际上是没有意义的,因为$ _GET是一个超全局,并且应该在整个代码中可用。
答案 5 :(得分:0)
为了理解这一点,你应该明白什么是“$ _GET”变量。要获得有关它的完整信息,您可以阅读有关它的官方PHP.net文档。这是链接:http://php.net/manual/en/reserved.variables.get.php
以下是汇总的信息。基本上每当页面加载并且在其地址中定义了一些变量时,PHP就会生成一个名为$ _GET的数组变量。所以,这个变量只不过是一个数组。例如,如果将加载具有以下地址的页面: www.example.com?var1=val1&var2=val2 ,$ _GET数组将如下所示:
{
'var1' => 'val1',
'var2' => 'val2'
}
因此,由于$ _GET是一个数组,您可以对它应用不同的函数。您可以检查此变量/数组是否已定义为isset($ _ GET),计算其中的元素数量($ _ GET),依此类推。这些函数实际上都不必查看数组的特定值,如$ _GET [“var1”],但一般来看一下这个数组。
在您的示例中,$ _GET不仅传递给任何函数,而是在初始化它的实例时传递给类。无论何时创建类对象,某个函数都被称为命名构造函数。因此,这个$ _GET数组只是传递给这个构造函数。要阅读有关构造函数的更多信息,您可以访问: http://php.net/manual/en/language.oop5.decon.php 。
希望这有帮助。
答案 6 :(得分:0)
它很可能是一个包装PHP输入数组的过滤器对象。我正在使用类似的东西:
$_REQUEST = new input($_REQUEST);
它基本上捕获了前$_REQUEST
数组并使其成为对象属性。
Object-oriented superglobals