另一个类实例的参数中的类的实例

时间:2012-11-22 17:01:21

标签: php class

有人可以解释在另一个类实例的参数中有一个类实例意味着什么:

$controller = new controllerObject(new dependenciesObject());

我理解类和类实例的基础知识,但从未见过像上面这样的代码。这是什么意思? controllerObect是一个类,所以在参数中传递一个对象实例是什么意思?

4 个答案:

答案 0 :(得分:0)

所有这些意味着controllerObject构造函数接受dependenciesObject类型的对象。

您实例化dependenciesObject并将其用作参数来实例化controllerObject,该$controller已分配给$dependency = new dependenciesObject(); $controller = new controllerObject($dependency); unset($dependency); 。如果它有助于您理解,这相当于:

{{1}}

答案 1 :(得分:0)

您正在做的是为$ controller分配一个controllerObject实例。

正如你所说,controllerObject是一个带有构造函数的类,需要引用一个对象:dependenciesObject类型。

     class controllerObject 
      {
           function __construct(dependanciesObject $dependancies)
            { 
                //etc
            }
       }

答案 2 :(得分:0)

这只意味着controllerObject将另一个对象传递给它的构造函数。通过这样做 - 而不是在单独的变量中实例化dependenciesObject - 您将不会为传递的对象创建全局变量,从而将全局变量的数量保持为最小。

如果controllerObject没有它就无法运行,那么将一个数据库对象传递给controllerObject

答案 3 :(得分:0)

与将任何其他参数传递给构造函数相同......例如new controllerObject(5)

如果它有助于理解,请使用临时变量:

$dependencies = new dependenciesObject();
$controller = new controllerObject($dependencies);