我認爲我們有單獨的控制器分別爲我們的應用程序單獨的邏輯或模塊,我也發現在另一個控制器內使用控制器不是一個好習慣。Laravel使用單獨的控制器爲單獨的邏輯
在這裏,我面臨着一個困難。
有兩個控制器PagesController和PostsController
PagesController處理有關的所有頁面的任務。
class PagesController
{
public function index()
{
// method of our root request, get and show all posts
}
public function contactUs()
{
// show contact us page etc.
}
}
PostsController處理所有帖子相關的任務。
class PostsController
{
public function getPosts() {} // get all posts from database
public function deletePost($id) {} // delete a post
public function editPost($id) {} // edit a post
}
現在後控制器處理所有職位的具體任務和頁面控制器處理所有頁面相關的任務。問題是,我想使用帖子控制器getPosts()方法來獲取所有帖子並傳遞給他們查看。我如何在我們的PagesController index()方法中使用PostsController的getPosts()方法。
一種方法是擴展PostsController並使用它。但是如果我們想要使用另一個控制器的方法呢。
請給我提供更好的方法來做到這一點。
getPosts()方法屬於Post Model not Controller。如果創建一個名爲Post的模型並創建getPosts模型,則可以在兩個控制器中使用它。實際上,如果你有Post模型,你可以簡單地使用Post :: all()而不是 –