OOP PHP奇怪的未定义方法

时间:2010-07-21 08:30:08

标签: php oop

有人可以告诉我为什么会这样 undefined方法print_hash()错误?

我有以下课程

    class EmailManager{
 private $replytoArray;
 private $receiverArray;
 private $fromArray;

 function __construct(){
  $replytoArray = array();
  $receiverArray = array();
  $fromArray = array();
 }
 function addReceiver($k){
  if(!in_array($k, $receiverArray)){
   $receiverArray[] = $k;
   return true;
  }
  return false;
 }
 function addReplyTo($k){
  if(!in_array($k, $replytoArray)){
   $replytoArray[] = $k;
   return true;
  }
  return false;
 }
 function debug(){
  print_hash($replytoArray);
  print_hash($receiverArray);
 }
 function print_hash($k){
  echo "<pre>";
  print_r($k);
  echo "</pre></br>";
 }
}

我想确保一切正常,所以我试着测试它

    <?php
 error_reporting(E_ALL);
 ini_set("display_errors",1);
 require_once("EmailManager.php");

 $em = new EmailManager();
 $em->debug();
 //$em->addReceiver("blabla@hotmail.com");
?>

3 个答案:

答案 0 :(得分:3)

您需要在$this->print_hash()内使用debug()

答案 1 :(得分:1)

print_hash()是一种类方法,因此您需要使用$this->print_hash()

答案 2 :(得分:1)

你必须调用$ this-&gt; print_hash(...)它只能在你的对象中使用。