2012-01-13 15 views
20

Mi chiedo se per PHP esistono completamente framework di event-drive basati sull'iniezione di dipendenze per il disaccoppiamento. So che esistono alcuni framework che rendono utilizzare di questi modelli, ma alla fine l'intero ciclo di vita dell'applicazione è ancora predefinito e lineare nello stile.Framework PHP basato sugli eventi?

Ad esempio, la maggior parte dei framework è costruita per ricevere, elaborare e restituire i risultati dalle richieste HTTP. Un framework di azionamento di eventi avrebbe gestori per questo, ma potrebbe anche essere utilizzato per nuovi scopi come l'elaborazione in background, l'interazione da riga di comando o altri casi d'uso non standard.

+4

Cosa intendi con evento guidato? Come NodeJS, Twisted o EventMachine? Poiché PHP viene eseguito per richiesta, sarà sempre lineare. E non vorrei avere programmi con comportamento non predefinito. – Daff

risposta

14

Mi sembra che lo Photon framework si adatti più vicino alla descrizione: il punto chiave è che non è possibile avere codice basato sugli eventi senza php in esecuzione in un processo daemon. La tua scelta di server web in effetti determina se ciò che chiedi è possibile o no - il fotone dipende dallo mongrel2.

8

Non l'ho mai usato personalmente per un progetto, ma credo che lo Prado copra quello che stai chiedendo. È un componente, ma non posso essere sicuro riguardo all'aspetto dell'iniezione di dipendenza.

Dal loro sito:

PRADOTM è un framework basato su componenti e programmazione event-driven per lo sviluppo di applicazioni Web in PHP 5. PRADO sta per PHP sviluppo rapido di applicazioni object-oriented.

Lo so perché uno dei miei compagni di classe universitari ha progettato il logo e il sito web per il progetto.

+0

Il sito Web di Prado non funziona ma funziona su https://github.com/pradosoft/prado –

6

Non usato, ma credo che oltre al Prado, che Treffynnon ha menzionato, Qcodo è un puro framework basato su eventi.

+0

Buona memoria!Avevo nella mia mente che era _Qdoco_ piuttosto che _Qcodo_ e non riuscivo a trovarlo quando menzionavo il Prado qui sotto! – Treffynnon

1

Stavo guardando anche quello che ho visto e mi sono imbattuto in p4e che è basato su zend framework e nette, spero che possa essere d'aiuto!

0

fuori del blocco ci sono queste 2 così:
Zend Framework 2 (ancora in beta)
symfony 2

Entrambi hanno tutte le cose che stai cercando credo.

+0

Sei sicuro che zf2 è gestito da un evento? – emaillenin

+1

Non nel senso classico di basso livello come nginx o qualsiasi cosa che utilizza un ciclo di eventi per sostenere l'esecuzione del linguaggio. Tuttavia, in userland, i moduli/classi ZF2 sono progettati per essere in grado di funzionare in un modo guidato dagli eventi, il che è ciò che penso che l'OP sia dopo. –

0

Il Qbix Platform è fortemente in PHP event-driven, anche se non usa l'iniezione di dipendenza.

0

Reactphp è quello che stai cercando.

Problemi correlati