Sono nella fase di pre-release di un progetto PHP open source, che spero venga utilizzato da altri sviluppatori nei loro progetti. Il progetto attualmente non supporta gli spazi dei nomi e sto cercando di valutare se dovrebbe usare gli spazi dei nomi o la convenzione di denominazione PEAR di Dir_Subdir_Class, che sembra avere tutti gli stessi vantaggi tecnici senza alcuni svantaggi. Ad essere onesti, non è una scelta facile.
Alcuni punti da considerare nei confronti degli spazi dei nomi:
- Uno dei modi in cui il mio progetto sta cercando di differenziarsi fornendo un'API più semplice rispetto ad altri progetti simili. Poiché gli spazi dei nomi sono nuovi e anche perché sono più complicati della convenzione di denominazione PEAR, introdurli nella base di codice renderà il mio progetto meno semplice da usare. Implementandoli, perdo una certa differenziazione in termini di facilità d'uso.
- Mentre posso vedere alcuni vantaggi per gli spazi dei nomi, non sembrano risolvere un problema che deve essere risolto in un moderno prodotto PHP che utilizza la convenzione di denominazione PEAR. I conflitti di denominazione durante l'utilizzo del mio progetto dovrebbero essere minimi se non inesistenti.
- Questo articolo mi dà una pausa nell'adottare gli spazi dei nomi poiché la loro implementazione è stata tutt'altro che stellare.
- Sono anche riluttante a saltare su un carro che potrebbe non andare da nessuna parte. Poiché gli spazi dei nomi sono una nuova funzionalità di PHP, non sono ancora convinto che diventeranno standard.
- Compatibilità. Quasi tutto il codice PHP che sia mai stato scritto non utilizza gli spazi dei nomi in quanto è una nuova funzionalità. Altre biblioteche sarebbero incompatibili senza una conversione.
Alcuni punti per l'utilizzo degli spazi dei nomi:
- Percezione. Se gli spazi dei nomi diventano standard e una buona pratica, il mio progetto potrebbe rapidamente essere visto come non professionale e obsoleto senza di essi.
- Concorrenza. Mentre alcuni progetti PHP concorrenti stanno iniziando a utilizzare gli spazi dei nomi nelle loro ultime versioni, molti devono ancora fare il salto. Farlo ora potrebbe dare al mio progetto un vantaggio su altri progetti.
- Il lavoro futuro sarebbe più semplice se avessi fatto il passaggio ora prima che il progetto diventasse pubblico piuttosto che dopo, dove avrei dovuto supportare due versioni di esso per un po '.
- Voglio supportare le migliori pratiche e se gli spazi dei nomi diventano le migliori pratiche per PHP, il mio progetto dovrebbe farne uso.
Da quello che posso dire, devi scegliere in un modo o nell'altro; non puoi fare entrambe le cose. Ci sono dei punti che non ho considerato? Ci sono segni oggettivi (niente guerre di fiamma, per favore) che indicano verso o contro gli spazi dei nomi diventare lo standard professionale per PHP? Gradirei qualsiasi intuizione o risorsa che saresti disposto a condividere in quanto dovrò prendere una decisione al più presto.