2011-06-02 51 views
1

我有一個PHP類,告訴時間像這樣(Time.class.php)使用類容易類如(Test.class.php):在另一個類的例子

<?PHP 
class Test { 
    function test(){ 
    $timestamp = ' '; // <--- the timestamp from the other class 
    $hourago = $timestamp - 10000; 
    return $hourago; 
    } 
} 
?> 

我是新來的PHP類,所以我不明白我讀過這個主題。從我讀過的這個可以用全局範圍來完成(如果它被稱爲範圍)?如果你只能告訴我如何使用全局變量或如何解決這樣的問題,我會很感激...

+0

處理這樣的日期時要小心。您可能會在特定時間遇到問題。例如,當你在午夜過後的小時會發生什麼?你當前的時間戳可能會返回類似「20110602001500」的內容,如果你把它看作一個整數(無論如何32位有問題)並減去10000,會給你一個時間戳「20110601991500」。現在你有99個小時部分。考慮直接使用UNIX時間戳 - 自1970年1月1日(00:00:00 GMT)以來的秒數。你可以使用'time()'函數得到它,並使用'date()'格式化你的時間戳。 – Aether 2011-06-02 10:34:38

+0

@以太感謝了很多,因爲我從來沒有在腳本上過夜,我還沒有想過這種可能性 – Logan 2011-06-02 10:41:07

回答

2

您需要首先創建時間類的實例,然後調用該實例的方法。

$mytime = new Time(); 
$timestamp = $mytime->timestamp(); 

或者你可以看看靜態類的方法。

2

must使用DEPENDENCI INJECTION

你可以在這樣的costructor傳遞任何引用的對象:

function test ($yourTimeStamp){ 
     $timestamp = $yourTimeStamp 
     [...] 
    } 
+0

_你可以傳遞任何引用對象在costructor_中,即如果兩個函數都在同一個類中?是對的嗎? – Logan 2011-06-02 10:24:24

+0

@Logan:無論何時你都可以傳遞任何對象 – dynamic 2011-06-02 10:25:43

+1

爲什麼不把整個Time對象傳入構造函數並在那裏調用時間戳方法?使它更加靈活恕我直言。 – DanMan 2011-06-02 11:34:48

相關問題