类中的PHP变量

Oma*_*bid 9 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();
Run Code Online (Sandbox Code Playgroud)

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

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

Ben*_*mer 10

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

public function __construct($un) {
    $this->_un = $un;
}
Run Code Online (Sandbox Code Playgroud)


Joh*_*ter 7

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

所以你现在正在做的是声明一个被调用的局部变量$_un,而不是分配给成员变量$this->_un.

尝试将代码更改为:

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

function printuser () {
    echo $this->_un;
}
Run Code Online (Sandbox Code Playgroud)

它应该工作.