2015-04-02 2 views
0

Предположим, у меня есть метод в модели A, который возвращает имя пользователя из базы данных, теперь я хочу, чтобы в модели B также был этот метод.php mvc - распространять методы между моделями

Каков наилучший способ сделать это, не повторяя себя?

+0

'class B extends A {}' звучит более разумный ответ без контекста. –

+0

Моя модель уже расширяет базовую модель. – Speedwheel

+0

Хорошо, но ... тогда, если метод тот же, код будет в порядке. Если вам просто нужно немного изменить результат, вы можете получить возврат родителя и упорядочить/обработать его по своему усмотрению. Как я сказал без контекста или более подробного объяснения точного сценария, трудно сказать. –

ответ

0

Я хотел бы сделать что-то вроде:

class ModelB { 

    public function method(){ 
     $object = new ModelA(); 
     return call_user_func_array(array(&$object, 'method'), func_get_args()); 
    } 

} 

Я не просто продлить Modela, потому что они могли бы иметь «различные функции» в зависимости от контекста.

Смежные вопросы