$ obj = new BlahBlahName($ _ GET);做?

时间:2010-10-25 15:22:07

标签: php

我知道当我们使用GET方法跨页面或在同一页面内传递数据时,我们使用GET函数从php中的url获取变量。

然而

$obj = new BlahBlahName($_GET);
这是做什么的?

7 个答案:

答案 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 是在网址中传递的变量数组。

http://w3schools.com/PHP/php_get.asp

答案 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