Я думаю, у них может быть несколько способов справиться с этим.Идея адаптера @EGL 2-101 - это один из способов сделать это.
По сути, у вас есть несколько источников , которые в жаргоне OO - разные объекты.Но вы хотите, чтобы относились, как если бы они были одним объектом.
Вы можете создать отдельный класс для каждого источника, проверить «соединение», как если бы каждый случай был единственным способом, с которым вы собираетесь работать.Если у вас есть несколько таких классов, попытайтесь заставить все классы совместно использовать некоторые интерфейсы, методы или свойства:
class AnyConnection
{
public function __construct() {
// ...
}
public function read() {
// ...
}
} // class
class SOAPObject extends AnyConnection
{
public function __construct() {
// ...
}
public function read() {
// ...
}
} // class
class MYSQLObject extends AnyConnection
{
public function __construct() {
// ...
}
public function read() {
// ...
}
} // class
class SalesObject extends AnyConnection
{
public function __construct() {
// ...
}
public function read() {
// ...
}
} // class
Позже используйте один класс для переноса на все эти исходные классы.
class AnyObject extends AnyConnection
{
$mySOAPObject;
$myMYSQLObject;
$mySalesObject;
public function __construct() {
// ...
}
public function read() {
// ...
}
} // class
Позже добавьте код, чтобы выбрать, какое «соединение» вы хотите.