2011-03-25 25 views
1
class io_dz { 
    /** 
    * Compress 
    */ 
    public static function Set($Data) { 
     if ($Data) { 
      $Out = addslashes(gzcompress(serialize($Data), 9)); 
     } else { 
      $Out = FALSE; 
     } 

     return $Out; 
    } 

    /** 
    * Decompress 
    */ 
    public static function Get($Data) { 
     if ($Data) { 
      $Out = unserialize(gzuncompress(stripslashes($Data))); 
     } else { 
      $Out = FALSE; 
     } 
     return $Out; 
    } 
} 

這是serialize函數之前的簡單壓縮。我如何調用該函數,並用它在$data 我目前有:如何在PHP類中使用這個函數?

$dataCompressor = new $io_dz(); 
$cdata = $dataCompressor->Set($data); 

但它似乎沒有工作,任何幫助,將不勝感激!

謝謝!

回答

3

您將該方法聲明爲靜態,您不需要實例化對象以訪問它們。只有 嘗試:

$cdata = io_dz::Set($data); 

如果您需要了解靜態方法/屬性的詳細信息,您可以檢查有不少簡單易懂的例子PHP手冊:http://php.net/manual/en/language.oop5.static.php

+0

太謝謝你了! – Mohammad 2011-03-25 16:42:30

3

$cdata = $dataCompressor::Set($data);

你需要::,因爲你讓他們靜。如果它們不是靜態的並且只是公共函數,那麼它將是->