2010-07-21 4 views
1

Quelqu'un peut-il me dire pourquoi je reçois unedefined méthode print_hash() erreur?OOP PHP Weird méthode non définie

J'ai la classe suivante

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

Et je veux vous assurer que tout va bien donc j'ai essayé de le tester

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

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

Répondre

3

Vous devez utiliser $this->print_hash() l'intérieur de debug().

+0

Merci! Noobster ici. – denniss

+0

Pas de problème, je peux oublier des choses similaires aussi :) – fabrik

1

print_hash() est une méthode de classe, vous devez donc utiliser $this->print_hash().

1

Vous devez appeler $ this-> print_hash (...) il est seulement disponible dans votre objet.

Questions connexes