在php中,初始化类时,如何将变量传递给该类以在其函数中使用?

2022-08-30 11:35:45

所以这是交易。我想调用一个类并向其传递一个值,以便它可以在该类中用于所有各种函数等。等。我该怎么做呢?

谢谢 山姆


答案 1

我想调用一个类并向其传递一个值,以便它可以在该类中使用

这个概念被称为“构造函数”。

正如其他答案所指出的,您应该从 PHP 5 开始使用统一构造函数语法 ()。下面是一个示例,说明其外观:__construct()

class Foo {
    function __construct($init_parameter) {
        $this->some_parameter = $init_parameter;
    }
}

// in code:

$foo = new Foo("some init value");

注意 - 在旧代码中可能会遇到所谓的旧样式构造函数。它们看起来像这样:

class Foo {
    function Foo($init_parameter) {
        $this->some_parameter = $init_parameter;
    }
}

从 PHP 7 开始,此表单已被正式弃用,您不应再将其用于新代码。


答案 2

在新版本的 PHP(5 及更高版本)中,每当使用“new {Object}”时都会调用函数 __constuct,因此,如果要将数据传递到对象中,请将参数添加到构造函数中,然后调用

$obj = new Object($some, $parameters);

class Object {
    function __construct($one, $two) {}
}

命名构造函数正在逐步淘汰 PHP,转而采用__construct方法。


推荐