Codeigniter中的「獲取實例」的目的是什麼? 你會如何解釋這對一個初學者?Codeigniter:獲取實例
回答
好吧,所以CodeIgniter中的所有內容都通過超級魔術變量$this
運行。這僅適用於課程,因爲$this
基本上定義了當前課程。
你的控制器是一類,所以$這是在那裏,讓你做$this->load->model('whatever');
在模型中,您還使用一個類。它在這裏略有不同,因爲$this
只包含有用的東西,因爲您正在從模型中擴展。仍然,$this
仍然有效。
當您使用幫助程序或庫時,您需要找到相應的「實例」或$this
。
$ci =& get_instance();
...讓$ci
包含完全相同的東西/代碼/實用性爲$this
,即使您不在一個班,或者不繼承它的類。
這是對2個品脫之後的初學者的解釋,所以它可能是錯的或者是正確的。 ;-)
這是singleton pattern的實現。從本質上講,這個類只有一個實例,它被設計爲可以在全局訪問。 get_instance
方法是靜態的,因此提供了從代碼中的任何位置訪問實例的方法。
不夠炫耀。我是SUPER NOOB! :) – 2010-05-12 14:37:09
@Kevin:在這種情況下,我建議您在深入研究依賴它的框架之前,開始閱讀關於面向對象編程(OOP)的知識! – 2010-05-12 15:09:02
會做,會! – 2010-05-12 15:11:39
- 1. 獲取單例實例
- 2. 如何在codeigniter中獲取已加載庫的實例
- 3. 獲取活動實例
- 4. 獲取會話Bean實例
- 5. 從DLL/Assembly獲取實例?
- 6. 獲取子類實例
- 7. 從selectbox中獲取實例
- 8. 獲取nsstring的實例ID
- 9. 如何獲取Bar實例?
- 10. 從HTMLElement獲取google.maps.Map實例
- 11. 獲取子類的實例
- 12. 獲取實例的屬性
- 13. 獲取TypeScript類的實例?
- 14. 從DLL/Assembly獲取實例?
- 15. 獲取小部件實例
- 16. 獲取ClassFile類的實例
- 17. 獲取dgrid的實例byId
- 18. 獲取XAML類的實例
- 19. JSF - 獲取SessionScoped Bean實例
- 20. 獲取實例列表,Grails
- 21. 從Azure實例獲取ServiceDefinition.csdef
- 22. 獲取實例變量?
- 23. 從實例獲取字段?
- 24. 多個會話實例Codeigniter
- 25. CodeIgniter庫多個實例
- 26. 模型類的codeigniter實例
- 27. Android獲取片段的實際實例
- 28. 在獲取實例中讀取objectURL
- 29. Codeigniter獲取MySQL值
- 30. 如何從Spring JdbcTemplate實例獲取DBUnit DatabaseConnection實例
2品脫,呃?那麼,圖書館/幫手的有用性是什麼?爲什麼不使用模型? – 2010-05-12 14:38:10
當然,所有事情都是PHP課程,你可以隨心所欲地放置任何你喜歡的東西。一般來說,在CodeIgniter中,它被分解爲「數據庫交互/業務邏輯」=模型,簡單函數進入幫助程序,一般類是庫。 – 2010-05-13 08:07:12