【问题标题】:How to combine Phaclon\Mvc\Application and Phaclon\Mvc\Micro in one project?如何在一个项目中结合 Phaclon\Mvc\Application 和 Phaclon\Mvc\Micro?
【发布时间】:2017-04-29 11:38:54
【问题描述】:

我的项目结构:

├── apps
│   ├── backend <= Micro
│   └── frontend <= Application
├── public
│   ├── css
│   ├── index.php <= Single entry point
│   └── js
└── vendor
    ├── ...

注意:我不想使用两个入口点,像这样:

├── apps
│   ├── ...
├── www
│   ├── css
│   ├── index.php <= Entry point for Frontend
│   └── js
├── api
│   ├── index.php <= <= Entry point for Backend

它仍然是一个备用选项。

问题:

  1. 告诉我在哪里可以看到此类项目的示例?
  2. 如果选择的项目组织方式是错误的,什么是正确的?

在这两种情况下,我都想获得以下文件的示例代码:

public/index.php // or www/index.php & api/public.php
apps/forntend/Module.php // or something similar
apps/backend/Module.php // or something similar

以及我应该如何组织路线、调度员等的工作。

【问题讨论】:

    标签: php api model-view-controller phalcon


    【解决方案1】:

    您可以为此采用不同的解决方案。是的,@Juri 确实可以写,但是如果您希望 API/后端尽可能纤薄,那么您可以使用 Micro 应用程序。

    诀窍是有一个抽象的引导类来执行所有初始化(包括应用程序对象),并用前端、后端、cli 等相关的引导类覆盖它。

    查看 Phalcon 网站实现,尤其是 Bootstrap 类,了解如何实现这一点。

    在这些帖子中详细解释了实现:

    https://blog.phalconphp.com/post/building-the-new-phalcon-website-implementation-part-1 https://blog.phalconphp.com/post/building-the-new-phalcon-website-bootstrap-part-2 https://blog.phalconphp.com/post/building-the-new-phalcon-website-middleware-part-3

    【讨论】:

      【解决方案2】:

      为什么要结合它们?只需单独使用Phalcon\Mvc\Application。 Micro 甚至没有调度程序、模块等。Phalcon\Mvc\Micro 是独立的东西,它不应该在 Phalcon\Mvc\Application 的同一应用程序中使用。

      你到底想达到什么目标?

      【讨论】:

      • 但是如果您有兴趣,我正在寻找一种方法来禁用后端模块控制器中的ViewsPhalcon\Mvc\Micro 不要使用Views,所以我决定使用它。走错路了?
      猜你喜欢
      • 2019-07-04
      • 2019-09-18
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 2012-10-03
      相关资源
      最近更新 更多