2012-03-12 33 views
0

目前我們必須使用PHP 5.2。是的,我知道我應該升級到5.3或5.4,但在此期間:在PHP 5.2.17中訪問Iterator接口

我想寫我自己的類實現Iterator接口。但是,該類無法找到,顯然是因爲Iterator接口未加載。但是,我認爲SPL已經足夠。

有什麼建議嗎?毫無疑問,我已經錯過了一些愚蠢的...

在此先感謝。

+0

你有一個簡單的例子,不工作? [來自PHP文檔的示例](http://php.net/manual/en/class.iterator.php)是否有效? – 2012-03-12 14:01:12

+2

可以提供你的Iterator實現代碼嗎?這正是你得到的錯誤? – 2012-03-12 14:02:45

+0

我的代碼現在很簡單,因爲我已經刪除了所有的代碼。我已經結束了一個類,看起來像這樣: MyClass類實現的Iterator {// 所有迭代器操作實現 } 當我嘗試實例MyClass的,我得到: 致命錯誤:類「MyClass的」未找到... 註釋掉「implements Iterator」可以消除錯誤。 (當然,現在它不是一個迭代器,它是關鍵。) – user641253 2012-03-12 17:33:59

回答

1

的迭代器不是一類,它是一個接口:

class Yourclass implements Iterator { 

    // Methods here 

} 

如果不解決這個問題,你實際上應該考慮在你的問題的一些代碼。

1

它使用土耳其語言環境時,看上去像一箇舊的錯誤(不固定):https://bugs.php.net/bug.php?id=18556

如果是這樣,請嘗試使用其他語言環境。

+0

+1有趣的bug。 – hakre 2012-03-12 14:42:41