我正在开发一个涉及制作电子邮件课程的PHP项目。我有一个Java背景,似乎无法弄清楚在对象上调用方法的语法。
我将缩写代码:
文件1:
class Emails {
protected $to;
public function Emails ($_to) {
//constructor function.
$to = $_to;
}
public function getTo () {
return $to;
}
文件2:
require("../phpFunctions/EmailClass.php");//include the class file
$email = new Emails("<email here>");
echo $email->getTo();//get email and return it
然而,getTo()不返回任何内容,或者,如果我将返回更改为$ this-&gt; $ to,则会收到“空字段”错误。
请帮助我理解方法在这种情况下如何工作(并原谅双关语......)。在Java中,您只需调用email.getTo()...
答案 0 :(得分:2)
public function __construct ($_to) {
$this->to = $_to;
}
public function getTo () {
return $this->to;
}
答案 1 :(得分:0)
复制和粘贴:
class Emails {
protected $to;
public function __construct($_to) {
//constructor function.
$this->to = $_to;
}
public function getTo () {
return $this->to;
}
}
使用$this
范围将获得在类定义中定义的变量。
答案 2 :(得分:0)
在PHP中,变量不是实例作用域,除非前缀为$this
public function getTo () {
// $to is scoped to the current function
return $to;
}
public function getTo () {
// Get $to scoped to the current instance.
return $this->to;
}