__toString() doit retourner une chaîne de valeur

Quelqu'un peut me dire ce que je fais de mal? C'est ma première fois à l'aide de __toString. Je reçois l'erreur suivante: Catchable fatal error: Method users_class::__toString() must return a string value

C'est mon appel à l'objet en utilisant Smarty:

 {assign var='udatas' value="$userObj->fetchUser(array('id'=>$ststres[ststval].to_id))"}

C'est l'objet.

class users_class {

protected $users_class;

public function __toString() {

    return $this->users_class;
}
  public function fetchUser(array $conditions){
            $db = Core::getInstance();

            $sql = "SELECT * FROM ".USERS." WHERE ";
            $i=0;
            $params = array();
            //$where = array();
            foreach ($conditions as $column => $value) {
            if (preg_match('/^[a-z-.-_]+$/', $column)) {
                if($i!=0){
                    $sql .= " AND ";
                }
            $sql .= "$column = ?";
            $params[] = $value;
            $i++;

    }
   }            
            //$sql .= implode(' AND ', $where);
            //$sql .= " order by title asc";    
            $res = $db->dbh->prepare($sql);
            $res->execute(array_values($params));
            return $res->fetch(PDO::FETCH_ASSOC);               
}   
   }
Correctif pour protected $users_class = ''; ou return (string)$this->users_class;
Cela signifie que, quelle que soit la valeur que vous avez définie pour la variable $users_class n'est pas une chaîne.
Ce type de valeur doit être stockée dans users_class?
Pourquoi essayez-vous de mettre en œuvre __toString() pour commencer?
après l'incorporation de votre suggestion, il est résolu à l'erreur, mais la fonction ne retourne pas le résultat souhaité. Je pense qu'il vient de surpresses erreur.

OriginalL'auteur Claude Grecea | 2012-12-17