2012-01-13 55 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,雖然它不使用依賴注入。