Цель
Я хочу расширить свой контроллер, чтобы сделать мой код более читабельным.
Мой код и пример
Итак, у меня есть контроллер с множеством методов:
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){}
}
теперь я хочу иметь, например, все методы, имеющие отношение только к доске в классе spereat, который наследуется от класса teamC
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, и я хочу, чтобы он вызывал метод из класса Board.
Конечно, это не работает так, как я написал в моем примере.
Что я пробовал / думал о
в маршруте я улавливаю все методы, например, на досках, а затем создаю экземпляр плат, а не teamC, который работает, но он действительно уродлив и не очень удобен в обслуживании.
Мне как-то нужно сообщить команде teamC, этот метод существует, но он реализован в вашем дочернем классе.
Если я не могу заставить это работать, я просто создаю дополнительный контроллер для плат, информации, изображений usw …
Я надеюсь, что кто-то может помочь мне и указать мне в правильном направлении
Задача ещё не решена.
Других решений пока нет …