我认为我们有单独的控制器分别为我们的应用程序单独的逻辑或模块,我也发现在另一个控制器内使用控制器不是一个好习惯。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()而不是 –