-4

请帮助我了解如何在 PHP 类中定义构造函数。

我以这种方式写了一个类:

class ABC
{
private $x=5;
function display()
{
echo $this->x;
}
}

现在我正在尝试为类定义一个参数化构造函数,因此我可以创建具有适当值的对象 $x。我怎样才能做到这一点?

4

3 回答 3

3

构造函数文档

class ABC
{
  private $x;

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

  function display()
  {
    echo $this->x;
  }
}
于 2012-09-04T01:12:24.570 回答
3

虽然其他两个已经正确回答(抱歉懒得说你的名字:P),但必须说你也可以这样写你的构造函数:

<?php
// Constructor
class Object {
    function Object($vars) {

    }
}
?>

构造函数也可以被赋予与类本身相同的名称,它并不总是必须是__construct()

来自官方文档
的更新警告 旧式构造函数在 PHP 7.0 中已弃用,并将在未来版本中删除。您应该始终在新代码中使用 __construct()。

于 2012-09-04T01:30:01.290 回答
2

查看此文档链接: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();

 ?>
于 2012-09-04T01:13:33.757 回答