在mvc php项目中扩展控制器类

时间:2014-11-06 22:55:47

标签: php oop inheritance

目标

我想扩展我的控制器,以使我的代码更具可读性。

我的代码和示例

所以我有一个控制器,有很多方法:

class teamC extends controller{
  //Index site
  public function index(){}
  //Gets the Basic Info site of the Team Views
  public function info($teamInfo){}
  //Gets to the setting stuff for admins
  public function settings($teamInfo){}
  //Gets the picture site
  public function picutres($teamInfo){}
  //Gets the boards 
  public function boards($teamInfo, $boardID = 0){}
  //New News via Ajax call
  public function newNews(){    }
  //New Comment via Ajax call
  public function newComment(){ }
  //create new Board
  public function newBoard($teamInfo){}
  //Checks what type of member, team members need to be fetched before that!
  private function memberType($userID){}
  //SetUp gets the basic info thats needed for every team page
  private function setUp($teamInfo){}   
}

现在我想拥有一些方法,这些方法只与继承自类teamC的spereat类中的董事会有关。

class board extends teamC{
  //Gets the boards 
  public function boards($teamInfo, $boardID = 0){}
  //New News via Ajax call
  public function newNews(){    }
  //New Comment via Ajax call
  public function newComment(){ }
  //create new Board
  public function newBoard($teamInfo){}
  //Checks what type of member, team members need to be fetched before that!
}

现在,当我从团队控制器调用这样的方法时:www.mysite.com/team/boards,我希望它从电路板类调用该方法。 当然,它不像我在我的例子中发布的那样工作。

我尝试/想过的内容

在路线中我捕获了所有方法,例如板,然后我创建了一个板的实例,而不是teamC的实例,这是有效的,但它真的很难看,而且不能真正维护。

我不知何故需要让teamC知道,这个方法存在,但它是在你的子类中实现的。

如果我无法正常工作,我只需为电路板,信息,图片创建一个额外的控制器......

我希望有人可以帮助我,并指出我正确的方向

0 个答案:

没有答案