Domanda

Quando costruisco alcune delle mie app PHP, molte funzionalità potrebbero essere codificate usando i moduli PEAR / PECL, tuttavia, il fatto che alcune persone che lo usano potrebbero non avere accesso all'installazione delle cose, mi pone un enigma.

Dovrei abbandonare alcuni utenti per usare PEAR / PECL per funzionalità, dove questi mi permetteranno di avere un sistema codificato più velocemente rispetto a se avessi scritto le mie stesse funzionalità, ma significherebbe che escluderebbe alcune persone dall'usarlo.

È stato utile?

Soluzione

Dipende in parte da quanto tempo hai e dallo scopo del progetto. Se stai solo cercando di creare qualcosa che funzioni, scegli PEAR / PECL. Se stai cercando di imparare a essere un programmatore migliore e hai tempo, ti consiglio di impegnarti a scrivere le tue versioni. Una volta comprese le parti interne di qualsiasi cosa tu stia cercando di sostituire, potresti voler passare alla versione PEAR / PECL in modo da non perdere tempo a reimplementare ciò che è già stato implementato ...

... ma d'altra parte, gli strumenti preesistenti non sempre fanno esattamente ciò di cui hai bisogno, e talvolta hanno un sovraccarico che non ti fa nulla di buono. Questo è il motivo per cui gli strumenti da riga di comando Unix sono così piccoli e ristretti allo scopo; nessuno ha davvero bisogno di una versione di 'ls' che possa fare qualsiasi cosa oltre a quello che 'ls' attualmente può fare. La tua versione di qualunque libreria PEAR, in virtù della tua scrittura, farà esattamente quello che devi fare. Richiede un attento pensiero ...

... ma per la mano avvincente, non passare troppo tempo a pensarci. Trascorri cinque minuti, prendi una decisione e inizia a scrivere codice. Anche se prendi la decisione sbagliata, almeno avrai ottenuto più codice di pratica. : -)

Altri suggerimenti

Risparmia sui tempi di sviluppo sviluppando con le librerie di pere e fornisci le librerie raggruppate in ciò che distribuisci (anche se dovrai assicurarti che rispetti i requisiti di licenza)

Non dipenderei dall'installazione di alcune estensioni PECL a meno che tu non stia facendo qualcosa di particolarmente correlato a una (ad esempio un front-end XDebug o qualcosa del genere), la maggior parte delle installazioni porterà un set di estensioni abbastanza vaniglia.

Il mio suggerimento è di iniziare supponendo i moduli PEAR / PECL e completare il resto del codice. Quindi, una volta che la maggior parte del codice funziona nel modo desiderato, puoi valutare di tornare indietro e pezzo per pezzo sostituendo il codice esterno con il tuo. Inoltre, a quel punto avrai una migliore idea dell'impatto che questi avranno sulla tua base di utenti.

Codificalo inizialmente usando PEAR / PECL e se ottieni persone che chiedono una versione non PEAR / PECL, inizia a codificare le tue alternative, quindi per tale versione.

Lo sviluppo iniziale andrà molto più veloce con questo, e potresti scoprire che nessuno si preoccupa di richiedere librerie di terze parti una volta che hai iniziato a rilasciare app.

Usa PEAR ma consenti l'inclusione dei pacchetti PEAR all'interno del tuo progetto. Tutti i pacchetti PEAR possono essere scaricati separatamente da http://pear.php.net/ e possono essere posizionati ovunque . A seconda della convenienza e dei problemi di licenza, è possibile quindi impacchettare tutti i file PEAR richiesti con il progetto o dire agli utenti come scaricare e "installare". loro.

Quello che faccio la maggior parte delle volte è che non userò mai PEAR installato globalmente su un server. Le versioni possono cambiare e influire sulla tua applicazione. Invece ho un file di configurazione (nel mio caso XML) che elenca tutti i pacchetti richiesti e le loro versioni. Il programma di installazione si collega al mio repository FTP personale e scarica e installa tutti i pacchetti PEAR localmente in $ PROJECTBASE / lib / pear / .. E PEAR viene eseguito localmente anziché a livello globale. Qualcosa che potresti voler prendere in considerazione.

L'uso di PEAR non è un problema, se gli utenti non hanno accesso root al proprio server web, possono semplicemente scaricare i file PHP da pear.php.net e aggiungerlo al loro percorso di inclusione. PECL è un po 'più complicato da aggirare, dal momento che spesso non c'è modo di installare nuovi moduli senza accesso root.

Devi stare attento perché molti moduli in Pera sono davvero di qualità piuttosto bassa.

Alcuni sono fantastici, non fraintendetemi, ma non date per scontato che qualcosa in pera, in virtù del fatto di essere in pera, abbia una certa qualità. Il che significa che devi almeno scremare la fonte di un modulo pera prima di decidere di usarlo, il che per compiti abbastanza semplici potrebbe richiedere più tempo che andare senza pera.

pecl è diverso, tuttavia. Le estensioni tendono a essere testate e testate meglio, altrimenti si bloccherebbero php.

Ribadendo gran parte di ciò che è già stato detto: http://www.codinghorror.com /blog/archives/001145.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top