1

現在、 「Base」と呼ばれる基本クラスを拡張するすべてのモデルがあります

ベースが雄弁に伸びる

問題は、ユーザー認証とグループに Sentry 2 を使用しているため、2 つのモデルUserGroupがそれぞれの Sentry ベース モデルSentryUserModelSentryGroupModelを拡張していることです。

次の 2 つのモデルを使用する方法がわかりません:ユーザー、グループがベースモデルを拡張します。

4

1 に答える 1

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]);
      }        
}
于 2013-09-10T10:05:42.813 に答える