请帮助我了解如何在 PHP 类中定义构造函数。
我以这种方式写了一个类:
class ABC
{
private $x=5;
function display()
{
echo $this->x;
}
}
现在我正在尝试为类定义一个参数化构造函数,因此我可以创建具有适当值的对象 $x。我怎样才能做到这一点?
请帮助我了解如何在 PHP 类中定义构造函数。
我以这种方式写了一个类:
class ABC
{
private $x=5;
function display()
{
echo $this->x;
}
}
现在我正在尝试为类定义一个参数化构造函数,因此我可以创建具有适当值的对象 $x。我怎样才能做到这一点?
class ABC
{
private $x;
function __construct($x)
{
$this->x = $x;
}
function display()
{
echo $this->x;
}
}
虽然其他两个已经正确回答(抱歉懒得说你的名字:P),但必须说你也可以这样写你的构造函数:
<?php
// Constructor
class Object {
function Object($vars) {
}
}
?>
构造函数也可以被赋予与类本身相同的名称,它并不总是必须是__construct()
来自官方文档
的更新警告 旧式构造函数在 PHP 7.0 中已弃用,并将在未来版本中删除。您应该始终在新代码中使用 __construct()。
查看此文档链接:http ://us.php.net/manual/en/language.oop5.decon.php
<?php
/**
* a class demonstrating constructors
*
*/
class ABC
{
var $x;
public function __construct($arg)
{
// this function gets its arguments via the class constructor
$this->x = $arg;
}
public function showVariable()
{
echo $this->x;
}
}
?>
<?php
// see the class constructor can take an argument (to be passed to the __construct) function
// it can be an array or just a variable
$abc = new ABC("Hello World");
$abc->showVariable();
?>