【问题标题】:AngularJS and PHP backendAngularJS 和 PHP 后端
【发布时间】:2013-07-29 02:21:26
【问题描述】:

也许这不是一个真正的问题,而是一个讨论。我决定学习 Angular,使用一个简单的任务,构建一个博客系统。我有几个问题。 免得想象 php 应用程序会有 MVC 结构,所以我有一些问题:

  • 我是否应该仅将后端构建为 RESTFUL 应用程序,并在 angular 和 php 上使用 json response\request?
  • php 应用程序中的视图怎么样,我应该将它们与 ng-init 一起使用?
  • 路由,服务器端还是客户端?
  • 缓存怎么样?
  • 最后但并非最不重要的一点是,我应该将用户输入数据的逻辑放在哪里?

有人可以给我关于这件事的说明或指导,也许有用的链接来阅读文章,将 php 和 angular 结合起来,或者我做错了?

【问题讨论】:

  • 顺便说一句,基于 js 的单页网络应用程序并不像博客本质上那样对 seo 友好。

标签: php api angularjs logic


【解决方案1】:

您可能希望将这种类型的应用程序视为实际上是两个应用程序。

首先是后端,API。您可以使用您的 PHP 框架来构建一个 API,它允许您拥有数据持久性、验证(业务逻辑)等......暂时忘记前端,您只是为后端数据构建一个 API。

应用程序的第二部分是 AngularJS 前端。这包括客户看到的所有视图和所有内容。这些都不是来自后端。

这允许您使用后端 API(PHP 位)充当数据存储,并通过它自己的安全验证,同时拥有来自 AngularJS 的无缝用户体验和基本客户端验证。

路由是 AngularJS,因为那是客户端使用的实际前端。

可以在后端、您的 API 中进行缓存(如果需要)。

验证将在前端和后端进行,但如果需要,它们可能会略有不同。

请记住,您将后端严格地构建为 API,而不考虑前端(好像会有多个应用程序使用它),因此它将有自己的验证规则和逻辑。

希望对您有所帮助。

【讨论】:

  • 所以你建议只使用 php 作为 api?以及为什么将 php 视图与 Angular 混合使用是个坏主意?
  • @СашаХарьков - 好吧,我不确定我是否会说这本身就是一个坏主意,但从概念上讲,它可能会带来比最初解决的更多的混乱和维护问题。这个想法是 AngularJS 将为您提供整个前端,它本身就是一个应用程序。后端 API(在本例中为 PHP)用于帮助通过 CRUD 操作持久化数据。将它们分开有助于保持代码的可维护性和可扩展性。
  • 推荐用于构建此后端 API 的任何特定 PHP 框架?
  • @domi - PHP 框架是一个拥有数百万意见且没有正确或错误答案的主题。这实际上是一个偏好问题和应用程序的性质。选择最适合您的需求和偏好的一种。如果必须选择,我会选择具有良好 XML 和 JSON 支持的设备,因为从 API 返回的数据可能会采用这种格式。希望对您有所帮助。
  • @domi - 非常有可能(而且有些人更喜欢)在不使用框架的情况下构建后端。您可以只使用像 composer 这样的包管理器并获取您需要的库,将它们拼凑在一起并中提琴。我个人喜欢框架,让事情变得简单,而且我懒得真正欣赏这一点。附带说明一下,我建议使用更现代的框架来支持 RESTful 路由,CodeIgniter(虽然是我的最爱)有点过时了。
【解决方案2】:

我发现了一个非常简单的结构,它允许我将 Angular 与 PHP 和 restful api 一起使用。我对所有视图都使用 Angularjs。我使用了一个叫做 slim 的安静的 PHP API 框架来促进 Angular 和我使用 Doctorine2 的 PHP 模型之间的通信。

我 85% 的编码是用 Angular(Views) 完成的。 5% 使用 API(控制器)完成,其余 10% 在模型中配置业务逻辑。很好的关注点分离,没有太多的开销。简洁明了。

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 2018-11-11
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多