【问题标题】:What's the best practice for having a Laravel application serve both the browser-based application, and act as an API for the iPhone and Android app? [closed]让 Laravel 应用程序服务于基于浏览器的应用程序并充当 iPhone 和 Android 应用程序的 API 的最佳实践是什么? [关闭]
【发布时间】:2016-06-27 21:17:54
【问题描述】:

我们在 Laravel 5.1 中使用存储库模式,并将我们的逻辑保存在存储库中,并将数据从存储库返回到控制器,我们如何将相同的数据用于 Native 应用程序和 Web 浏览器(即 Web 应用程序).​​....off course数据在 json 中,那么我们如何在刀片模板中显示相同的数据...我们是否需要为前端使用另一个框架(Angular 或任何其他)?

【问题讨论】:

    标签: javascript angularjs laravel ember.js laravel-5.1


    【解决方案1】:

    我个人认为您不需要包或框架来实现这一点。由于您遵循存储库模式,因此您的控制器仅负责返回结果(也可以选择将它们转换为输出)。

    实现你的目标;

    1- 将您的 API 路由分组(等等。Route::group('api/v1',...)

    2- 创建一个类甚至更好的 Trait 来检测传入路由

    3- 在您的控制器或处理 JSON 转换的类上,检测请求的路由。

    4- 如果请求是从 api 路由发出的,则返回 JSON。否则为刀片模板。

    您还可以查看this 链接,这将帮助您建立路线检测。另请记住,您的ExceptionHandler 也需要这个精确的实现。您不希望有人在您的 Web 前端看到 json 错误消息,或者从您的 API 返回的 404 刀片模板。

    【讨论】:

    • 如果我使用 angular.js 作为前端来显示 json 数据...那么我不需要使用其他逻辑来显示数据以查看页面..对吗?这是一个好习惯吗?
    • 是的,你不需要它。考虑到你有角度知识,它会为你节省一些时间和代码。但我不会把这两种方式都称为一种好的做法。这只是关于您需要服务器后端的方式。如果缩放得当,我认为刀片模板也不会成为问题。
    猜你喜欢
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2010-10-27
    • 2014-06-01
    • 1970-01-01
    相关资源
    最近更新 更多