Inversione del Controllo Contenitore per PHP?

Sto cercando di codice TDD stile in PHP e uno dei miei più grandi pietre d’inciampo (altro che la mancanza di un decente IDE) è che devo fare il mio messo insieme IoC container solo per iniettare tutti i miei oggetti fittizi correttamente.

Qualcuno ha usato un contenitore Ioc in PHP? Tutto quello che ho potuto trovare è PHP CIO sul sempre fastidioso phpclasses.org e sembra avere quasi alcuna documentazione e non tanto di un seguito.

  • Dare un’occhiata al mio dependency injection progetto per PHP 5: github.com/jamolkhon/Sharbat
  • perché questa domanda chiuso off-topic? Questo è uno dei più importanti argomento in questi giorni
  • Sono d’accordo, la domanda era se esistono, non una raccomandazione (e mi è stato chiesto sei anni fa). Ma come non c’è risposta “corretta” posso vedere perché potrebbe essere visto come off-topic .
InformationsquelleAutor George Mauer | 2008-09-09



7 Replies
  1. 6

    Phemto è in fase di sviluppo di nuovo, e sembra abbastanza promettente IMHO.

    Un paio di altri progetti simili, che si potrebbe desiderare di guardare:

    secchio (Disclaimer: io sono l’autore principale di questo)

    Il php-porto di picocontainer, è stato intorno per un lungo periodo di tempo. Non credo di essere attivamente deveoped più, ma d’altra parte, credo che sia abbastanza stabile. È stato un lungo tempo da quando ho guardato però.

    piuttosto di Un nuovo progetto, recentemente mi sono imbattuto è Furbo. Non sono sicuro di come molte persone lo usa però.

    anche io sto guardando sphicy, che sembra interessante.

    • Link per il Download del Furbo è rotto. Ho parlato con l’autore, ha detto la sua un progetto morto, le versioni più recenti di PHP si è rotto a causa di cambiamenti in PHP api reflection.
    • OK ho aggiornato il post di conseguenza.
  2. 2

    PHP-DI è un altro contenitore di dipendenze.

    È dotato di iniezione di dipendenza attraverso annotazioni e configurazione minima, ecco un esempio:

    class Foo {
        /**
         * @Inject
         * @var Bar
         */
        private $bar;
    }

    È molto facile da usare e si integra con Zend Framework per esempio.

    (sì, lo so, il lavoro su questo framework)

    • +1 so che alcuni ragazzi da Zend e so che hanno lavorato ultimi anni, per rendere il concetto più naturale in php e capire di più la comunità php.
  3. 1

    Ho lavorato su un PHP IoC/Contenitore DI denominato Substrato per gli ultimi sei mesi. È ancora molto un work in progress, ma è stato distribuiti in produzione per un mese e mezzo e ha lavorato abbastanza bene finora.

    Substrato è ispirato Spring Framework, ma scritto con i punti di forza e i limiti di PHP in mente. La documentazione è piuttosto minimale, a questo punto, ma c’è qualche codice di esempio, tra cui una unità di test di esempio. Questo è qualcosa che si pensa di poter essere in grado di utilizzare per TDD?

  4. 0

    Laravel 4 ha il miglior Cio e DI quadro. se non mente utilizzando un framework Laravel 4 è il modo di andare

    • È zeh Migliore!!1 Zeh Migliore!!! Ehm … perché?

Lascia un commento