我有以下代码(我是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中这样做,但是由于某些原因它不起作用。 谢谢!
答案 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)
$this
来访问当前类的变量(或方法),这是区分类成员和局部变量的必要条件
答案 3 :(得分:2)
使用此构造。
class user {
var $_un;
function user($un)
{
$this->_un = $un;
}
}