我剛剛開始使用PHP中的OOPS來處理我的項目。並希望確保我學習項目的正確OOP方法。通過PHP在OOPS中執行CRUD操作的理想方式
我的班級是這樣的:
class user
{
//class variables
public function __construct
{
//initializes all class variables to null
}
public function setById($id)
{
//Queries Database for row matching $id and sets the class variables with
the same values as returned in result
}
public function setValues($array)
{
foreach($array as $key => $value)
{
$this->$key = $value;
}
}
public function update()
{
//updates the database table from the class variables
}
public function delete()
{
//deletes the row matching the class variable called id
}
}
現在的更新操作:
1)我會首先聲明的對象。 2)然後調用SetById()函數,使用參數作爲我希望更新的行的id。這將從數據庫中設置所有當前值。 3)然後將調用setValues()函數來更新類變量中的值。 4)然後調用update函數從類變量的值更新數據庫行。
這是在OOP方法中更新的正確方法嗎?
對於刪除操作:
1)我將首先聲明對象。 2)然後調用SetById()函數,使用參數作爲我希望更新的行的id。這將從數據庫中設置所有當前值。 3)然後調用delete函數刪除類變量中與id匹配的行。
這是正確的方法嗎?
感謝您的評論。我會研究你在這裏鏈接的兩種模式。但我的問題是:我的代碼是否違反任何OOP原則?根據面向對象的方法學是正確的? –
@KanishkDudeja:是的。幾乎從來沒有'User'對象的工作將自己保存到永久存儲(數據庫)。兩者之間幾乎總是存在分離。 –
好的。謝謝 :) –