2010-07-22 517 views
0

使用面向對象的方法,我試圖打電話給在同一類功能的公共職能,但它拋出一個錯誤: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>";    
    } 

} 

我在這裏失蹤了什麼?

+1

提示:使用'''而不是'''所以你不需要任何東西;) – NikiC 2010-07-22 22:01:45

+0

僅供參考,你不需要在問題標題中包含[關鍵字]。這就是標籤的用途。 – Charles 2010-07-22 22:17:12

回答

4

您需要使用$this->來調用同一類中的方法。它不是隱含像它在語言如C++

所以,叫^ h

$this->h($row['cQuotes']); 
+0

我嘗試了代碼,並且所有在css中的格式都消失了編輯。 – input 2010-07-22 21:37:35

3

您必須使用這種從訪問類的任何非靜態成員裏面

{ 
    return "<p id=\"ab_quotes\">" . $this->h($row['cQuotes']) . 
      "</p>". "<p id=\"ab_author\">" . $this->h($row['vAuthor']) . 
      "</p>";    
} 
+0

+1回答第一(我剛剛回答類似)。你的gorra學習格式化你的代碼(4個空格應該做的伎倆):) – 2010-07-22 21:35:08

+0

它只是從@fusions複製:( – Sadat 2010-07-22 21:36:04

+0

請參閱我上面的評論。 – input 2010-07-22 21:37:56

相關問題