【问题标题】:file structure of server-side script on server when using frameworks like angular使用 Angular 等框架时服务器上服务器端脚本的文件结构
【发布时间】:2018-03-31 07:13:22
【问题描述】:

在学习 Angular 之前,我使用 CodeIgniter 构建我的 Web 项目。 CodeIgniter 的 MVC 结构使组织我的 php 文件变得容易。我不再有散落在各处的 php 脚本。现在我已经学习了 Angular,似乎整个分散的脚本又回来了,因为 Angular 是前端的东西,需要制作很多 http 请求(到 php)文件 . 我现在通常有这样的文件

login.phpapi/accountsget-likes.php in api/post-actions

它们只是做一件事的单个文件。 MVC 框架提供的结构更具可扩展性,几乎所有内容都通过类运行,有一个入口点,控制器从 url 自动调用。这是不是错了。有什么我可以做得更好的吗? (注意不是关于 Angular 的结束,而是关于在服务器上组织我的脚本)。

我知道我的问题有些杂乱无章,我自己也能感觉到,但我不知道还能问什么。如果需要进行任何编辑,我很乐意进行。

【问题讨论】:

    标签: angular file-structure


    【解决方案1】:

    您不需要回到旧的 php 方式。您的控制器可以只是 REST 控制器,它们以 JSON 格式返回数据。

    例如,您可以拥有一个Authentication 控制器,它处理所有有关身份验证的请求。

    /api/authentication/login (POST)
    /api/authentication/logout (GET)
    

    您可以在后端使用任何框架(Symfony、Laravel、Codeigniter)来帮助您保持代码井井有条

    【讨论】:

      【解决方案2】:

      我过去经常使用 PHP,所以我知道您的意思。有助于组织更多事情的一件事是遵循 REST 准则。因此,您可能只有api/actions,而不是api/post-actionsapi/get-actions。当您发出 GET 请求时,它会返回操作。当 POST 和 body 是一个对象时,创建一个实体。如果是数组,则创建多个。 api/actions/:id 将通过 id 返回一个,PUT 将替换它,PATCH 将更新给定字段,DELETE 将删除,等等。

      我在大型 CakePHP MVC 应用程序(通常是传统的非 SPA 应用程序被转换为 Angular SPA)中使用的另一种模式,可能有一百个左右的模型,是只创建一个通用 REST 控制器。通常不同模型之间的 REST 逻辑是如此相同,以至于控制器甚至很少需要扩展,但它很容易,例如。您需要在一个模型的任何 REST 操作中使用自定义方法或自定义逻辑,而不是其他模型。

      然后添加多个指向同一个控制器的路由,比如/actions/**foobarmodel/**。然后让控制器根据 URL 决定调用哪个模型,也许还应用一些条件认证规则。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-28
        • 2017-02-09
        • 2017-03-26
        • 2012-07-14
        • 1970-01-01
        • 2018-03-21
        • 1970-01-01
        相关资源
        最近更新 更多