【发布时间】:2014-11-26 05:26:46
【问题描述】:
我正在使用 Laravel 构建一个 RESTful Web 服务,并在前端使用 Angluarjs 构建一个单页应用程序。现在我应该在哪里放置 Angularjs 文件?我应该将它们放在 Laravel 安装的公用文件夹中,还是应该将它们完全分开,因为我将调用 Web 服务中的资源,它会返回 JSON 数据,因此不需要它们同一个地方。标准或最佳做法是什么?
现在,第二部分。如果我正在构建一个简单的 Todo 应用程序,我应该如何在 Laravel 中管理我的路由和资源。这是我真正感到困惑的地方,有点难以解释,但请陪我一分钟。例如,我在 /users 有一个用户资源,我可以通过在 /users 发出 GET 请求来获取所有用户,或者通过在 /users 发出 POST 请求来创建新用户。同样,我可以在 /users/1 发出 GET 请求并获取第一个用户,依此类推,并使用其他请求动词。现在,我有另一个资源,称为任务。我应该如何实现这个资源?我应该像嵌套资源说 /users/{user_id}/tasks 那样实现它吗?当我在 /users/1/tasks 发出 GET 请求时,它将获取第一个用户的所有任务。但是现在它变得复杂了,因为如果在 /users/10/tasks/1 发出 GET 请求,它是否应该为第 10 个用户获取第一个任务。但是这样一个逻辑的实现变得非常困难,因为我必须寻找第 10 个用户的第一个任务。
我想出了一个解决方法,只在 /users/{user_id}/tasks 设置一个 GET 路由,这显然会返回指定用户的所有任务。然后我会创建一个完全不同的资源/任务来处理所有其他请求动词。我这样做对吗?
如果我使用像 MongoDB 这样的 NoSQL DB,在这种情况下,数据将以 /users/{user_id}/tasks/{task_id} 不会难以实现的方式存储,因为任务每个用户都将在他们自己的 JSON 对象中。
我的想法是否正确?我是新手,我不完全知道解决此类数据库架构问题的标准方法是什么?最佳做法是什么?
【问题讨论】:
-
将 angularjs 文件和 Laravel 文件分开保存,这样您的应用程序的耦合度就会降低。此外,如果您需要部署多个前端服务器以实现可扩展性,您可以轻松完成。它还有其他几个优点。
-
这要么过于宽泛,要么主要基于意见。专注于一个问题。 “我应该把 AngularJS 文件放在哪里?” “什么是标准或最佳实践”? “如果我正在构建一个简单的应用程序,我应该如何管理我的路线?” “我这样做对吗”? “还有,如果我使用的是 NoSQL DB 怎么办?” “我想的方向对吗?” “解决此类数据库架构问题的标准方法是什么?最佳实践是什么?”问题太多,注意力不够,征求意见。