Если у вас есть класс factory, который создает какие-то новые объекты, и этот factroy-класс является singleton, например:
class Database_Factory extends Base_Factory {
private static $factory;
private $objects = array();
public function __get($profile) {
// check for object and return it if it created before
}
public static function getInstance(){
if (!self::$factory)
self::$factory = new self();
return self::$factory;
}
}
Тот же код повторяется в любое время, когда какой-то объект нуждается в нем factory. Поэтому я решил сделать этот абстракцию класса factory и реализовать только определенные процедуры для каждого factory. Но PHP не позволяет создавать экземпляр абстрактного класса.
abstract class Base_Factory {
public static function getInstance(){
if (!self::$factory)
self::$factory = new self();
return self::$factory;
}
}
Неустранимая ошибка: невозможно создать абстрактный класс Base_Factory
Что бы вы сделали?