2011-12-14 5 views
0

Я столкнулся с каким-то странным поведением вокруг создания объекта из возвращаемого значения метода getter.Создание экземпляра класса из возвращаемого значения свойства getter

Во-первых, я попробовал этот

$productMapper = new $this->getDbMapper(); 

Который дает мне неопределенное свойство: ошибка $ getDbMapper.

Из чего он выглядит, он пытается получить доступ к $ getDbMapper как свойство класса, а затем использовать () для создания экземпляра класса, а не как метод (?).

У меня также есть эта проблема в другом разделе кода, где класс принимает аргумент конструктора.

Будет ли это подходящее время, чтобы посмотреть на какой-либо заводской шаблон поверх или я просто что-то пропустил?

+0

ли '$ productMapper = новый $ это -> {getDbMapper()};' работы? Кроме того, можете ли вы создать CodePad или что-то, что покажет проблему? – alex

+0

Примечание: использование неопределенного константы getDbMapper - предполагается 'getDbMapper' в – Stoosh

+0

Как я вижу решение в вашем вопросе: в чем проблема? – KingCrunch

ответ

0

Я нашел починку, который я не особенно доволен

$mapper = $this->getDbMapper(); 
$productMapper = new $mapper(); 

// With a class constructor 
$form = $this->getForm(); 
$form = new $form($productData); 
Смежные вопросы