请帮我解决一下我的OOP PHP疑问?

时间:2009-12-23 19:15:00

标签: php oop this

我有foll prog

class Person {
  var $name;
  function Person () {

  }
}

$fred = new Person;
$fred->name = "Fred";
$barney =& new Person;
$barney->name = "Barney";

echo $barney->name;
echo $fred->name;

这两个echo语句给出了正确的相同输出,即“Fred”和“Barney”,因此使用给定的&同时宣布$ barney。 “&”是什么请参考这里?

谢谢

3 个答案:

答案 0 :(得分:2)

PHP4中的引用(http://www.php.net/manual/en/oop4.newref.php

这意味着'通过引用'。它成为同义词,而不是(further reading)的副本。此外,编写构造函数的新方法不是使用与类本身相同的名称,而是使用__construct()函数:

class Person {

  function __construct() {
    // setup shop
  }

}

此外,请务必通过将某些方法和属性指定为“公共”,“私有”,“受保护”等来正确使用Visiblity

答案 1 :(得分:2)

它将变量作为引用传递,但PHP5 +中不再需要它。

答案 2 :(得分:0)

请参阅PHP手册中的References Explained

您还在使用PHP4有什么特别的原因吗?它不再受支持,PHP5s OOP更加稳固和强大。