【问题标题】:Event-Driven PHP Framework? [closed]事件驱动的 PHP 框架? [关闭]
【发布时间】:2012-01-13 20:01:02
【问题描述】:

我想知道是否有任何针对 PHP 的完全事件驱动框架,它们基于依赖注入进行解耦。我知道有一些框架可以使用这些模式 - 但最终应用程序的整个生命周期仍然是预定义的并且在样式上是线性的。

例如,大多数框架都是为接收、处理和返回来自 HTTP 请求的结果而构建的。事件驱动框架会为此提供处理程序,但也可以用于新用途,例如后台处理、命令行交互或其他非标准用例。

【问题讨论】:

  • 事件驱动是什么意思?像 NodeJS、Twisted 还是 EventMachine?由于 PHP 按请求执行,因此它始终是线性的。而且我不希望有没有预定义行为的程序。

标签: php design-patterns frameworks dependency-injection


【解决方案1】:

在我看来,Photon framework 最接近您的描述 - 关键是如果没有在类似守护进程的进程中运行 php,您就无法拥有事件驱动的代码。您对网络服务器的选择实际上决定了您的要求是否可行 - photon 取决于 mongrel2

【讨论】:

    【解决方案2】:

    我个人从未将它用于项目,但我相信Prado 涵盖了您的要求。它是组件化的,但我不能确定依赖注入方面。

    来自他们的网站:

    PRADOTM 是一个基于组件和事件驱动的编程框架,用于在 PHP 5 中开发 Web 应用程序。PRADO 代表 PHP 快速应用程序开发面向对象。

    我知道这一点是因为我的一位大学同学为该项目设计了徽标和网站。

    【讨论】:

    【解决方案3】:

    没用过,但是相信除了Treffynnon提到的Prado之外,Qcodo是一个纯事件驱动的框架。

    【讨论】:

    • 美好的回忆!在我的脑海中,它是 Qdoco 而不是 Qcodo 并且在下面提到 Prado 时找不到它!
    【解决方案4】:

    我也在寻找周围的东西,我遇到了基于zend框架的p4enette,希望它可以帮助!

    【讨论】:

      【解决方案5】:

      还有这两个:
      Zend Framework 2(仍处于测试阶段)
      symfony 2

      我相信两者都有你想要的所有东西。

      【讨论】:

      • 你确定 zf2 是事件驱动的吗?
      • 不像 nginx 或任何使用事件循环来支持语言执行的经典低级意义。但是在用户空间中,ZF2 模块/类等旨在能够以事件驱动的方式相互工作,这就是我认为 OP 所追求的。
      【解决方案6】:

      Symfony2.就那么简单。 http://symfony.com/

      【讨论】:

        【解决方案7】:

        Yii,它是一个基于组件和事件驱动的框架,纯 OOP 和 MVC。它非常干净整洁。看看吧。

        http://www.yiiframework.com

        【讨论】:

          【解决方案8】:

          Qbix Platform 在 PHP 中是高度事件驱动的,尽管它不使用依赖注入。

          【讨论】:

            【解决方案9】:

            Reactphp 就是你要找的。​​p>

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-09-11
              • 1970-01-01
              • 2012-06-24
              • 2011-10-14
              • 1970-01-01
              • 2017-09-21
              • 2021-12-29
              • 1970-01-01
              相关资源
              最近更新 更多