您需要创建一个可靠的架构和框架来管理您的数据模型。这并不容易,而且随着数据模型的增长只会变得更加复杂。我强烈推荐使用 PHP 框架(Symfony、CakePHP 等),或者至少使用 ORM(Doctrine、Propel 等)。
如果你还想自己动手,我会从类似于下面的架构开始。
您将需要一个DbRecord 类,用于单独的记录操作(如保存、删除等)。这个DbRecord 类将被特定实体扩展,并为基本实体操作提供基础。
class DbRecord {
public function save() {
// save logic (create or update)
}
public function delete() {
// delete logic
}
// other record methods
}
class User extends DbRecord {
private $name;
private $email;
public function setName($name_) {
$this->name = $name_;
}
public function setEmail($email_) {
$this->email = $email_;
}
}
从中,您可以执行单独的记录操作:
$user = new User();
$user->setName('jim');
$user->setEmail('jim@domain.com');
$user->save();
您现在需要一个 DbTable 类,用于对表进行批量操作(例如读取所有实体等)。
class DbTable {
public function readAll() {
// read all
}
public function deleteAll() {
// delete all logic
}
public function fetch($sql) {
// fetch logic
}
// other table methods
}
class UserTable extends DbTable {
public function validateAllUsers() {
// validation logic
}
// ...
}
从中,您可以执行批量/表格操作:
$userTable = new UserTable();
$users = $userTable->readAll();
foreach ($users as $user) {
// etc
}
代码架构是网站正确扩展的关键。将数据模型划分为适当的类和层次结构非常重要。
同样,随着您网站的发展,手动管理数据模型会变得非常复杂。那时您将真正看到 PHP 框架或 ORM 的好处。
注意:DbRecord 和 DbTable 是任意名称 - 使用您喜欢的名称。