嘿傢伙如何從點的視圖
一個面向對象的數據庫查詢,我知道#2是不可以問正確的地方,如果有哪裏 這個問題更適合的另一Stackexchange組,那麼請告訴我。
所以,我試圖學習OOP。我認爲我很瞭解它,但有一件事我不能確定 的正確方法,那就是數據庫的處理。
所以,我很困惑一點,應該在哪個班上做什麼。
可以說我有一個db類。在這個類的內部,我在構造函數中連接到數據庫。現在讓我們說 我有一個用戶類。
所以,現在的問題: 我應該在哪裏查詢例如創建一個新的用戶?我應該在用戶類中創建一個方法, 還是應該在DB類中創建一個方法?如果在數據庫類中,它是否應該是像create_user()
這樣的方法,還是應該更像全局性的東西,如query
,我可以傳入任何我想要的查詢。
這裏,例如從GitHub項目:
https://github.com/christran/PHP-OOP-Login-Register-System/blob/master/classes/user.php
正如你可以看到,所有的查詢方法在db.php中和user.php的,他只是調用這個方法。那麼這是正確的路嗎?
或者它沒有關係?五月,這些批評中的任何一個比另一個更「面向對象」?
這其實只是讓我很困惑,我不明白最好的方法是什麼。我搜索了很多,但從未 找到一篇文章到這個特定的問題。
所以我做了什麼,我在Github上尋找項目,看着他們的代碼,他們是如何解決這個問題的...... 但是用這種方法我更加困惑,因爲你看到了兩者。
它只是編碼器的偏好?
我非常感謝您的幫助。祝你今天愉快! :)
這裏我的意思一個小例子:
class user {
private function createUser() {
//SQL Query here (prepared statements etc...)
}
}
OR:
用戶類中查詢
class user {
private function createUser() {
// Call to db.class to insert_method() ...
}
}
對象關係映射不是OOP。 OOP是關於將系統分解爲通信狀態機的。 ORM正在重塑網絡數據模型,因爲開發人員不瞭解數據的關係模型。數據庫最好被視爲事實的代表者,而不是對象的代表者。 – reaanb