fre*_*ley 7 php constructor overriding
我有一个PHP类:
class DB extends mysqli{
public function __construct(
{
parent::__construct('localhost','user','password','db');
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我想用一个新的类覆盖这个类,该类使用不同的db用户执行更多特权数据库操作.
class adminDB extends DB{
public function __construct(
{
??
}
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
roj*_*oca 11
您应该将凭据传递给构造函数:
class DB extends mysqli {
public function __construct($host, $user, $password, $db)
{
parent::__construct($host, $user, $password, $db);
}
}
Run Code Online (Sandbox Code Playgroud)
然后你不需要继承你可以使用:
$adminDb = new DB($adminHost, $adminUser, $adminPassword, $db);
$nonAdminDb = new DB($host, $user, $password, $db);
Run Code Online (Sandbox Code Playgroud)
但如果你真的想要继承,你仍然可以这样做:
class AdminDB extends DB {
public function __construct() {
parent::__construct('adminhost','adminuser','adminpassword','db');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10200 次 |
| 最近记录: |