不要害怕将您的应用程序逻辑分支到库类中。您不必将所有内容都放入 Laravel 给定的文件夹结构中。
事实上,添加您自己的命名空间类组可以带来很大的好处。您可以在此处查看有关创建您自己的应用程序库的一些设置。
完成设置后,您可以创建一个类,其职责是决定要返回的内容类型。这可能基于Accept
标头、URL 参数或您定义的任何内容(这取决于您,API 创建者)。
也许这个类将获取Accept
标题并将其规范化为“json”、“xml”和“html”之类的东西。
如果您通过标头执行此操作,Request 类有一些 方法Accept
可以帮助您。
因此,在伪代码中(要遵循语法错误!),您的控制器可能会执行以下操作:
/* GET /api/users */
public function index()
{
// Might return "json" or "xml" or "html"
$contentType = \My\ContentType\Class->getContentType();
$users = User::all();
// Not shown here is logic to set `content-type` header in the returned response (json vs xml vs html)
// Perhaps a method to go into your implementation of \My\ContentType\Class
return View::make('users.'.$contentType)->with(array( 'users' => $users ));
}
这只是你可能会做什么的一个想法。关键是让自己在一个库中工作,您可以将业务逻辑放入其中,让您开始了解如何为您的应用程序添加业务逻辑。
希望有帮助。