__construct的功能是什么?
2022-08-30 06:22:12
我一直在注意很多课程。我做了一些阅读和网上冲浪,但我找不到我能理解的解释。我刚刚开始使用OOP。__construct
我想知道是否有人可以给我一个关于它是什么的一般概念,然后一个简单的例子,说明它是如何与PHP一起使用的?
我一直在注意很多课程。我做了一些阅读和网上冲浪,但我找不到我能理解的解释。我刚刚开始使用OOP。__construct
我想知道是否有人可以给我一个关于它是什么的一般概念,然后一个简单的例子,说明它是如何与PHP一起使用的?
__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手册中解释了其他所有内容:单击此处
__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不支持重载构造函数(即具有多个接受不同参数的构造函数)。您可以使用静态方法实现此效果。
注意:我从(在撰写本文时)接受的答案的日志中检索到这一点。