【发布时间】:2015-02-07 18:50:16
【问题描述】:
我有 DbTable 类,它实现了对数据库的所有 db 查询,例如 insertRecord、updateRecord、...但是变量没有重写。
abstract class DbTable {
public static $table;
public static function insertRecord($data) {
// here I add some values to data, but that's not important
my_db::insert(self::$table, $data);
}
}
class User extends DbTable {
public static $table = 'table_users';
}
// everywhere I can call
User::insertRecord($data);
我知道我可以打电话
$c = get_called_class();
my_db::insert($c::$table, $data);
但我认为这根本不是最好的解决方案。
方法和变量可以是非静态的,我只是使用它们,因为写User::insertRecord而不是$user = new User(); $user->insertRecord($data);很舒服
【问题讨论】:
标签: php oop design-patterns