使用面向对象的方法,我试图在同一个类的函数中调用一个公共函数,但它会抛出一个错误:Call to undefined function h()
PHP:
class Name {
. .. .
public function h($s)
{
echo htmlspecialchars($s, ENT_QUOTES);
}
public function formatQuotes($row)
{
return "<p id=\"ab_quotes\">" . h($row['cQuotes']) . "</p>"
. "<p id=\"ab_author\">" . h($row['vAuthor']) . "</p>";
}
}
我在这里缺少什么?
答案 0 :(得分:4)
您需要使用$this->
在同一个类中调用方法。它并不像在C ++等语言中那样隐含
所以,打电话给h
$this->h($row['cQuotes']);
答案 1 :(得分:3)
您必须使用它来访问其中任何类的非静态成员
{
return "<p id=\"ab_quotes\">" . $this->h($row['cQuotes']) .
"</p>". "<p id=\"ab_author\">" . $this->h($row['vAuthor']) .
"</p>";
}