📜  PHP |想象一下 __construct()函数(1)

📅  最后修改于: 2023-12-03 15:18:26.480000             🧑  作者: Mango

PHP | Imagine the __construct() function

在PHP中,__construct()函数是一个特殊的函数,用于在创建对象时初始化对象的属性(又称构造函数)。如果一个类指定了构造函数,那么在创建对象时,该构造函数会被自动执行。在构造函数中可以执行一些初始化功能,比如给对象的属性赋值,或者执行连接数据库等操作。

语法
public function __construct( [ mixed $args = "" [, $... ]] )

其中,$args是可选的参数,可以是任何类型。

使用

下面是一个使用__construct()函数的例子:

class Person {
  	private $name;
  	private $age;

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

  	public function getName() {
    	return $this->name;
  	}

  	public function getAge() {
    	return $this->age;
  	}
}

$person = new Person('John Doe', 30);
echo $person->getName(); // Output: John Doe
echo $person->getAge(); // Output: 30

在上面的代码中,我们创建了一个名为Person的类,并在其构造函数中初始化了对象的两个属性name和age。然后我们创建了一个名为$person的对象,并通过调用getName()和getAge()方法获取属性值。

工作原理

当我们通过new操作符创建一个对象时,PHP首先会分配一块内存空间来保存对象的数据。然后,PHP会查找类中是否存在构造函数__construct(),如果存在,则自动执行该函数,使用传入的参数来初始化对象的属性,然后返回该对象。如果不存在构造函数,则创建空对象并返回。

结论

__construct()函数是用于在创建对象时执行初始化功能的特殊函数。它可以用来初始化对象的属性,也可以执行诸如连接数据库等操作。在类中定义构造函数后,PHP会在创建对象时自动执行该函数,并使用传入的参数来初始化对象的属性。如果类中未定义构造函数,则创建一个空对象并返回。