下載了一些開放源代碼的PHP腳本,例如Wordpress和Moodle,以研究它們在那裏構建代碼等的方式。但是,在查看這兩個腳本時,我總是無法找到數據庫查詢(選擇,插入,更新)?爲什麼他們如此隱藏,我如何找到他們?開源PHP項目中的數據庫查詢?
1
A
回答
4
它們可能實際上是通過ORM層生成的。哪一個是通過對象方法生成查詢的對象。
0
沒有隱藏,那裏只是用OOP方式寫的!
1
查看Wordpress中的/wp-includes/user.php以獲取實施的具體細節。你會看到SQL語句,以及爲處理它們的代碼,如下所示:
$user_nicename_check = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
1
在WordPress中,他們在wp-db.php
,有趣的是:)「隱藏」的低層次數據庫中的大多數要求該代碼儘可能地將數據庫中的「業務邏輯」隔離開來。
這使得它更容易做出一個改變,而無需重新對碼,另外,或支持多個數據庫(或其他存儲)後端,而不必垃圾與檢查你的代碼,看看哪種DB你的正在使用。
如果你真的想弄清楚在一個大型的開源項目中發生了什麼,尤其是面向對象的項目,可能值得使用能夠分析代碼並跳轉到定義的編輯器/ IDE,比如NetBeans。這通常會使您在閱讀時更容易遵循代碼,而無需弄清楚哪個類正在調用哪個文件(尤其是在PHP自動加載發生時)。
相關問題
- 1. PHP的數據庫查詢
- 2. 管理開源軟件項目中的數據庫
- 3. PHP笨數據庫查詢
- 4. PHP查詢whois數據庫
- 5. PHP查詢的Session_ID在數據庫中
- 6. SQL查詢 - 所有的數據庫查找項目的價值
- 7. 開源的Qt項目處理數據庫連接
- 8. 項目Web訪問,數據庫資源
- 9. javascript中的開源項目
- 10. groovy中的開源項目?
- 11. 我應該幫助哪個開源C++數據庫GUI項目?
- 12. 開源項目庫的結構
- 13. 開源項目
- 14. 顯示php上的數據庫項目
- 15. 開源項目項目
- 16. PHP的Oracle多數據庫查詢
- 17. 顯示從查詢數據庫的PHP
- 18. 充氣ListView/RecyclerView項目時查詢數據庫的最佳做法項目
- 19. Codeigniter修改數據庫查詢數組項目
- 20. 爲新項目創建數據庫的查詢
- 21. Android:FC查詢sqlite時打開數據庫
- 22. 查詢數據庫中的數據
- 23. 在開源項目中安全地存儲連接數據庫的密碼
- 24. 修改後運行開源php項目
- 25. 基於數據庫數據檢查CheckedBoxList中的項目
- 26. PHP開源MySQL查詢生成器?
- 27. .Net數據庫查詢選項Aside Linq
- 28. 隱藏開源項目中的敏感數據
- 29. 類中項目的數據庫選項
- 30. 小開源項目
有趣的是,學習這種方法有多困難並且需要多長時間? – ritch 2011-06-10 16:01:18
許多框架已經內置在ORM層中。 ZF有Zend_Db_Select。那可能是一個開始的好地方。 – datasage 2011-06-10 16:04:26