對於惰性加載和類似函數,功能性Clojure語言與Python之間有一個有趣的比較here。它讓我思考 - PHP中沒有可比較的功能嗎?例如,當你做一個WordPress查詢:可能WordPress的懶加載查詢?還是PHP的限制?
$loop = new WP_Query(...)
您立即擁有職位$loop->posts
的全陣列和(除非我錯了),該陣列上WP_Query構造函數完全創建。在Java或帶迭代器的Python中,通常會有一個數據庫 - 遊標 - 迭代器,您可以根據需要調用get-next函數來獲取下一個項目。
是否由於缺乏PHP中這種迭代器概念或其他原因,Wordpress不這樣做?
好的php只是服務器端,你會如何從客戶端調用下一個項目?你可以使用AJAX好吧,但你也有無狀態的問題,所以會話變量,餅乾,數據庫條目等不要忘記wp_query也是可定製的分頁,類型等方面,所以它取決於你如何運行它。 – David 2014-11-09 01:41:54
@David PHP不是「僅服務器端」,它可以作爲Python或Bash本地的腳本語言運行。你有一點,我想知道它的以網絡爲中心的無狀態設計是否是這個原因。 – NoBugs 2014-11-09 04:14:49
本地定義?當我只說服務器端時,我的意思是不可能在沒有Ajax的客戶端瀏覽器中執行php腳本。 – David 2014-11-09 10:24:04