class hello {
var $fname;
var $lname;
function attrib() {
$this->fname = "sarmen";
$this->lname = "dijango";
}
function say() {
$name = $this->fname.", ".$this->lname;
return $name;
}
}
Run Code Online (Sandbox Code Playgroud)
当我在页面上包含类并输入类似的内容时,这是我的示例类
$d = new hello();
$d->say()
Run Code Online (Sandbox Code Playgroud)
什么都没发生.我究竟做错了什么?
您将该方法attrib视为构造函数,但您需要将其命名为其__construct行为.*否则,您需要这样做:
$myobject = new hello(); // create new object
$myobject->attrib(); // set the vars
print $myobject->say();
Run Code Online (Sandbox Code Playgroud)
然而,更常见的是看到这样的事情:
$myobject = new hello('my first name', 'my last name');
print $myobject->say();
Run Code Online (Sandbox Code Playgroud)
然后代替attrib方法你会得到这样的东西:
function __construct($fname, $lname) {
$this->fname = $fname;
$this->lname = $lname;
}
Run Code Online (Sandbox Code Playgroud)
* 除非您使用PHP4,否则您需要将构造函数命名为类名.