我已经注意到__construct有很多类。我读了一些书,上网浏览了一下,但我找不到我能理解的解释。我只是从面向对象编程开始。
我想知道是否有人能给我一个大概的概念,然后是一个简单的例子,它是如何与PHP一起使用的?
我已经注意到__construct有很多类。我读了一些书,上网浏览了一下,但我找不到我能理解的解释。我只是从面向对象编程开始。
我想知道是否有人能给我一个大概的概念,然后是一个简单的例子,它是如何与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不支持重载构造函数(即拥有多个接受不同参数的构造函数)。您可以使用静态方法来实现此效果。
注意:我从(在撰写本文时)接受的答案的日志中检索到这个。
其他回答
__construct只是简单地启动一个类。假设您有以下代码;
Class Person {
function __construct() {
echo 'Hello';
}
}
$person = new Person();
//the result 'Hello' will be shown.
我们没有创建另一个函数来响应单词“Hello”。它只是表明关键字__construct在初始化类或对象时非常有用。
注意:如果子类定义了构造函数,父构造函数不会隐式调用。为了运行父构造函数,需要在子构造函数中调用parent::__construct()。如果子类没有定义构造函数,那么它可以像普通的类方法一样从父类继承(如果它没有声明为private)。
我认为函数__construct(){…}是一段可以重复使用的代码,可以替代TheActualFunctionName(){…}。 如果你改变了类名,你不需要在代码中改变,因为泛型__construct总是引用实际的类名…不管是什么。 你写的代码少了…还是?
它是用来声明构造函数的。
class Cat
{
function __construct()
{
echo 'meow';
}
}
每当创建类的新实例时,构造函数都会被调用,在这种情况下,构造函数将通过以下行调用:
$cat = new Cat();
在旧的PHP版本中,构造函数也可以使用类名来声明,例如:
class Cat
{
function Cat()
{
echo 'meow';
}
}
构造函数允许在创建对象时初始化对象的属性。
如果你创建了__construct()函数,当你从类中创建对象时,PHP会自动调用这个函数。
https://www.w3schools.com/php/php_oop_constructor.asp