terex
Guest
$needed_object = ObjectsFactory>QueryObject($class_id);
Хочется создавать и возвращать объект указанного класса. Можно ли сделать это как-нибудь иначе (принципиально иначе), нежели
Дело в том, что при таком подходе добавление поддержки нового класса в ObjectFactory невозможно без дописывания кода. А это плохо.
В иделе хочется получить что-нибудь похожее на
Хочется создавать и возвращать объект указанного класса. Можно ли сделать это как-нибудь иначе (принципиально иначе), нежели
PHP:
class ObjectsFactory() {
...
function QueryObject ($class_id) {
if($class_id == CLASS_FOO) $ret = new Foo();
elseif($class_id == CLASS_BAR) $ret = new Bar();
...
else $ret = false;
return $ret;
}
...
}
В иделе хочется получить что-нибудь похожее на
PHP:
function QueryObject ($class_name) {
if(class_exists($class_name)) $ret = new $class_name;
else $ret = false;
return $ret;
}