1
我有點迷路,試圖學習OOPHP。這不是以任何方式最終確定的代碼,但我只是想了解如何使用另一個對象將對象存儲到數據庫中。PHP使用對象將其他對象存儲到數據庫PDO
我讀,我應該將對象轉換被傳遞到一個數組,所以我只是強制轉換,但我不想使用
class ObjectStorage {
private $myObject;
function __construct($object) {
$this->myObject = (array)$object;
}
function __get($attribute) {
return var_dump($this->$attribute);
}
public function saveVideo($conn) {
$sql = "INSERT INTO videos (`src`, `title`, `desc`, `cat_id`) VALUES (?, ?, ?, ?)";
$query = $conn->prepare($sql);
$query->execute($this->myObject);
echo "Video Saved!";
}
}
當運行能看到什麼是myObject我得到這
array(4) {
["Videosrc"]=>
string(4) "Test"
["Videotitle"]=>
string(5) "Title"
["Videodesc"]=>
string(4) "Desc"
["Videocat"]=>
string(3) "Cat"
}
我想不出如何訪問這些。有人能解釋我錯過了什麼嗎?
哦,我的對象有貓,而不是CAT_ID,如果我改變屬性CAT_ID並添加foreach循環它會工作? –
編輯答案,你應該修改也插入查詢。而你的評論似乎認爲你的對象的屬性如:'Videosrc'而不是'src',所以在這種情況下你必須使用第二個選項。 –
那麼對象的實際屬性是src,title,desc,cat,但是當我將它轉換爲數組時,它將類名添加到前端,因爲它們受到保護。嘗試訪問$ object-> src不起作用。我是否需要公開這些屬性,這會很糟糕,是嗎?一般公共道具可能不是第一選擇的 –