在 PHP 中,實(shí)現(xiàn)數(shù)據(jù)綁定的一個(gè)常用方法是使用對(duì)象屬性
class User
{
public $name;
public $email;
public function __construct($name, $email)
{
$this->name = $name;
$this->email = $email;
}
}
class User
{
// ...
public function setName($name)
{
$this->name = $name;
$this->email = substr($name, 0, strpos($name, '@')) . '@example.com';
}
// ...
}
class UserManager
{
private $users = [];
public function addUser(User $user)
{
$this->users[$user->name] = $user;
}
public function getUserByName($name)
{
return isset($this->users[$name]) ? $this->users[$name] : null;
}
}
$userManager = new UserManager();
$user = new User('John Doe', 'john@example.com');
$userManager->addUser($user);
echo $userManager->getUserByName('John Doe')->name . ' - ' . $userManager->getUserByName('John Doe')->email . PHP_EOL;
$userManager->getUserByName('John Doe')->setName('Jane Doe');
echo $userManager->getUserByName('Jane Doe')->name . ' - ' . $userManager->getUserByName('Jane Doe')->email . PHP_EOL;
在這個(gè)例子中,我們通過(guò)在 User 類(lèi)中定義 setter 方法實(shí)現(xiàn)了數(shù)據(jù)綁定。當(dāng)用戶名更改時(shí),電子郵件前綴也會(huì)自動(dòng)更新。通過(guò)使用 UserManager 類(lèi),我們可以方便地添加、獲取和更新 User 對(duì)象及其屬性。