1
我有下面的代碼的一個基本問題:PHP ORM如何設置ID在構造
<?php
interface UserInterface
{
public function getId();
public function getName();
}
class User implements UserInterface
{
private $_id;
private $_name;
public function __construct($id, $name)
{
$this->_id = $id;
$this->_name = $name;
}
public function getId()
{
return $this->_id;
}
public function getName()
{
return $this->_name;
}
}
class UserMapper
{
public function insert(UserInterface $user)
{
... insertion code
}
}
?>
的UserMapper的插入方法需要一個的UserInterface對象。所以我創建一個:
<?php
$user = new User(1, "Chris");
$userMapper = new UserMapper();
$userMapper->insert($user);
?>
我的問題是,用戶的ID是從數據庫中插入對象之後到來的自動遞增值。但是對象的構造函數迫使我定義一個id,因爲如果沒有id,對象將不會完整。如何解決這個普遍問題?
要將id作爲第二個參數傳遞給構造函數,默認值不是一個選項,因爲在我的理解中,如果沒有id,對象將是不完整的。
感謝您的幫助。
是的,答案很簡單,但你可能是對的。謝謝。 – cwo