我需要为同一个类创建多个别名,并根据实际别名选择另一个数据库:
实施例
$q = DB::query(...);
别名DB2,DB3用于类" DB":
$q = DB2::query(...);
$q = DB3::query(...);
有什么解决方案吗?谢谢你的回复。
答案 0 :(得分:2)
PHP中有一个函数i3ipc。
class_alias('DB', 'DB2');
class_alias('DB', 'DB3');
另外,你可以扩展它:
class DB2 extends DB {}
class DB3 extends DB {}
答案 1 :(得分:0)
首先,我需要根据当前的别名来连接数据库。这是获得良好内存性能的良好解决方案吗?
我的代码:
<?php
class DB
{
public static function query($id)
{
//query ....
$class = static::getClass();
return new $class;
}
public function __construct()
{
echo get_class($this); //select database by class name
}
}
class DB2 extends DB
{
public static function getClass()
{
return __CLASS__;
}
}
class DB3 extends DB
{
public static function getClass()
{
return __CLASS__;
}
}
$q = DB2::query(1);
$q = DB3::query(1);
?>