2013-09-04 3 views
1

В настоящее время я все мои модели, простирающиеся базовый класс называется «Base»Продление Sentry 2 модели от базовой красноречивый класса

Base расширяет красноречивый

проблема я использую Sentry 2 для пользователя аутентификации и группы, таким образом, мои два моих моделей пользователей и группы расширить их соответствующая базовая модель Sentry SentryUserModel и SentryGroupModel.

Я не могу понять способ иметь эти две модели: Пользователь, Группа продлить мой Базовая модель

ответ

1

Вы можете сделать свой пользователя и модели группы расширить SentryUserModel и SentryGroupModel соответственно затем расширить базовую модель с использованием волшебная функция.

Код:

class User extends SentryUserModel 
{ 
     private $base; 

     function __construct() 
     { 
      $this->base = new Base(); 
     } 

     // fake "extends Base" using magic function 
     public function __call($method, $args) 
     { 
      $this->base->$method($args[0]); 
     }   
} 


class Group extends SentryGroupModel 
{ 
     private $base; 

     function __construct() 
     { 
      $this->base = new Base(); 
     } 

     // fake "extends Base" using magic function 
     public function __call($method, $args) 
     { 
      $this->base->$method($args[0]); 
     }   
}