__construct的功能是什么?

2022-08-30 06:22:12

我一直在注意很多课程。我做了一些阅读和网上冲浪,但我找不到我能理解的解释。我刚刚开始使用OOP。__construct

我想知道是否有人可以给我一个关于它是什么的一般概念,然后一个简单的例子,说明它是如何与PHP一起使用的?


答案 1

__construct在 PHP5 中引入,这是定义构造函数的正确方法(在 PHP4 中,您使用了构造函数的类名)。您不需要在类中定义构造函数,但是如果您希望在对象构造上传递任何参数,那么您需要一个。

一个例子可以像这样:

class Database {
  protected $userName;
  protected $password;
  protected $dbName;

  public function __construct ( $UserName, $Password, $DbName ) {
    $this->userName = $UserName;
    $this->password = $Password;
    $this->dbName = $DbName;
  }
}

// and you would use this as:
$db = new Database ( 'user_name', 'password', 'database_name' );

PHP手册中解释了其他所有内容:单击此处


答案 2

__construct()构造函数的方法名称。构造函数在创建对象后被调用,并且是放置初始化代码等的好地方。

class Person {

    public function __construct() {
        // Code called for each new Person we create
    }

}

$person = new Person();

构造函数可以以正常方式接受参数,这些参数在创建对象时传递,例如

class Person {

    public $name = '';

    public function __construct( $name ) {
        $this->name = $name;
    }

}

$person = new Person( "Joe" );
echo $person->name;

与其他语言(例如Java)不同,PHP不支持重载构造函数(即具有多个接受不同参数的构造函数)。您可以使用静态方法实现此效果。

注意:我从(在撰写本文时)接受的答案的日志中检索到这一点。


推荐