Salve,
ho da poco iniziato a studiare php e su un libro ho trovato lo script della seguente classe:

Codice PHP:
<?php 

class DBManager
{
private static 
$s_conn;

public static function 
getConnection()
  {
    if (
DBManager::$s_conn === NULL)
    {
      
$conn = @new mysqli(DB_HOSTDB_USERDB_PASSDB_DBASE);
      if (
mysqli_connect_errno() !== 0)
      {
        
$msg mysqli_connect_error();
        throw new 
DatabaseErrorException($msg);
      }
      @
$conn->query('SET NAMES \'utf8\'');
      
DBManager::$s_conn $conn;
    }
    return 
DBManager::$s_conn;
  }


public function 
mega_escape_string
  
(
    
$in_string,
    
$in_markup FALSE
  
)
  {
    if (
$in_string === NULL)
      return 
'';

    
$str ereg_replace('([\'%;])''\\\1'$in_string);
    if (
$in_markup == TRUE)
    {
      
$str htmlspecialchars($strENT_NOQUOTES,
          
"UTF-8");
    }

    return 
$str;
  }
}
?>
In ul altro script il metodo public function mega_escape string viene richiamato in questo modo:
Codice PHP:
  public function userNameExists($in_uname)
  {
    if (
$in_uname === NULL or trim($in_uname) == '')
      throw new 
MyInvalidArgumentException('$in_uname');

    
$conn DBManager::getConnection();

    
$uname DBManager::mega_escape_string($in_uname);

    
$query = <<<EOQUERY
SELECT username, user_id FROM Users
  WHERE username = '
$uname'
EOQUERY;


    
$results = @$conn->query($query);
    if (
$results === FALSE or $results === NULL)
      throw new 
DatabaseErrorException($conn->error);

    if (
$results->num_rows == 0)
    {
      
$results->close();
      return -
1;
    }
    else if (
$results->num_rows == 1)
    {
      
$row = @$results->fetch_assoc();
      
$results->close();
      return 
$row['user_id'];
    }
    else
    {
      
$results->close();
      throw new 
InternalErrorException('Multiple users with same name');
    }
  } 
Ma quando richiamo il metodo mega_escape_string mi da un errore per il fatto che lo sto facendo come fosse un metodo statico.
Come si richiama un metodo pubblico dall'esterno? Se uso -> Netbeans mi dice che sto facendo un errore.
Grazie