【发布时间】:2017-08-10 02:36:06
【问题描述】:
我有多个控制器,有多个方法,它们都返回视图。
class PageController extends Controller {
public function index()
{
// do lots of stuff
return view('view.name', $lotsOfStuffArray);
}
public function list()
{
//...and so on
}
我现在需要创建一个 API,它执行与上述方法大部分相同的逻辑,但返回的是 JSON 输出:
class PageApiController extends Controller {
public function index()
{
// do lots of the same stuff
return $lotsOfStuffCollection;
}
public function list()
{
//...and so on
}
无需将代码从一个控制器复制粘贴到另一个控制器的最佳方法是什么?
我尝试将大量逻辑放入特征中并在我的 Eloquent 模型中使用它们,但这仍然需要我从控制器复制和粘贴代码到控制器。我还应该注意检查expectsJson() 并相应地返回响应是不可行的,因为我有很多很多方法。
将逻辑存储在父类中,然后创建一个响应视图的子控制器和一个响应 JSON 的子控制器是否是个好主意?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.4