2012-01-13 60 views
20

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

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

+4

你是什么意思与事件驱动?像NodeJS,Twisted或EventMachine一样?由于PHP根据请求执行,它总是会是线性的。我不希望有没有预先定义的行为的程序。 – Daff 2012-01-13 20:05:51

回答

14

这听起来像是最接近你的描述的Photon framework - 关键是你不能在事件驱动的代码没有PHP运行在守护进程般的过程。事实上,您选择的网络服务器会决定您的要求是否可行 - 光子取决于mongrel2

8

我从来没有亲自使用过这个项目,但我相信Prado涵盖了你所要求的。它是分组的,但我无法确定依赖注入的方面。

从他们的网站:

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

我知道这是因为我的一位大学班级同学为项目设计了标志和网站。

+0

普拉多网站不能正常工作,但是这个工作https://github.com/pradosoft/prado – 2016-04-24 11:27:39

6

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

+0

美好的回忆!我认为它是_Qdoco_而不是_Qcodo_,在下面提到Prado时找不到它! – Treffynnon 2012-01-14 23:32:01

1

我在看什么在附近,我碰到了基于zend框架的p4e,以及nette,希望它能帮上忙!

0

蝙蝠有这2以及:
Zend Framework 2(仍处于测试阶段)
symfony 2

两个拥有所有你正在寻找我相信的东西。

+0

你确定zf2是事件驱动的吗? – emaillenin 2012-01-31 04:31:41

+1

不像nginx这样的传统低层次的意义,或者是使用事件循环来支撑语言执行的东西。然而在userland,ZF2模块/类等被设计成能够以事件驱动的方式与对方一起工作,这是我认为OP所追求的。 – 2012-07-30 10:58:55

0

Qbix Platform是严重事件驱动的PHP,虽然它不使用依赖注入。