我有以下代码(我是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)
要访问PHP中的类成员,您需要使用$this->.
所以你现在正在做的是声明一个被调用的局部变量$_un,而不是分配给成员变量$this->_un.
尝试将代码更改为:
function user($un) {
$this->_un = $un;
}
function printuser () {
echo $this->_un;
}
Run Code Online (Sandbox Code Playgroud)
它应该工作.