1

Can someone tell me why I am getting undefined method print_hash() error?

I have the following class

    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>";
 }
}

And I want to make sure everything is fine so I tried to test it

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

 $em = new EmailManager();
 $em->debug();
 //$em->addReceiver("[email protected]");
?>

3 Answers 3

3

You need to use $this->print_hash() inside of debug().

Sign up to request clarification or add additional context in comments.

1 Comment

No prob, i can overlook similar things too :)
1

print_hash() is a class method, so you need to use $this->print_hash().

Comments

1

You have to call $this->print_hash(...) it is only available inside your object.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.