类中的PHP变量

时间:2009-08-18 09:58:58

标签: php oop variables

我有以下代码(我是Dot Net开发人员,我想如果我可以将我的OOP知识带给PHP)

class user {
    var $_un;
    function user($un) {
     $_un = $un;
    }
    function adduser() {
    }
    function checkuser() {
    }
    function printuser () {
        echo $_un;
    }
}

$newuser = new user('Omar Abid');
$newuser->printuser();

所以问题很简单“$ _un”是空的!!当使用构造函数创建类然后保存时,我希望它被填充。

我曾经在C#.net中这样做,但是由于某些原因它不起作用。 谢谢!

4 个答案:

答案 0 :(得分:10)

您应该使用__construct()而不是user(),它是在PHP5中添加构造函数的首选方法。 还要考虑为方法和成员(public / protected / private)添加可见性

public function __construct($un) {
    $this->_un = $un;
}

答案 1 :(得分:7)

要在PHP中访问类成员,您需要使用$this->

所以你目前正在做的是声明一个名为$_un的局部变量,而不是分配给成员变量$this->_un

尝试将代码更改为:

function user($un) {
 $this->_un = $un;
}

function printuser () {
    echo $this->_un;
}

它应该有用。

答案 2 :(得分:3)

在php中你必须使用$this来访问当前类的变量(或方法),这是区分类成员和局部变量的必要条件

答案 3 :(得分:2)

使用构造。

class user {    
  var $_un;    
  function user($un) 
   {
      $this->_un = $un;    
    }
 }