2009-09-26 20 views
52

Non sono un fan del codice PHP o spaghetti, o qualcosa del genere, ma nella mia esperienza WordPress funziona incredibilmente bene, è ben organizzato e non ho mai incontrato nessun codice difficile da capire. La documentazione è incredibilmente accurata, eventuali difetti di sicurezza vengono risolti in pochi secondi e "funziona". Senza contare che fa TUTTO, e ha un fantastico sistema di plug-in. Oh, e "the Loop" è fantastico. Non ho mai avuto problemi a fare semplici modifiche al codice o ai temi.Perché WordPress è considerato mal programmato?

Potete fornire esempi specifici di ciò che non vi piace o di quello che avreste programmato in modo diverso? Non capisco proprio perché si fa un brutto colpo del genere. Vorrei che anche il mio software funzionasse bene e avesse tutte le caratteristiche e un aspetto gradevole.

+3

Non l'ho mai usato, ma ho dovuto ripulire il caos. La cosa ha un flusso infinito di vulnerabilità. Non lo toccare con un palo di chiatta. – bobince

+15

Quale parte di codice non ha un flusso infinito di vulnerabilità? Non è uno dei principi fondamentali della programmazione che qualcosa di più grande di "Hello World" sta per avere un bug? – ceejayoz

+5

Nondimeno, WP ha avuto molto, molto di più della sua giusta quota, incluso (dagli avvisi) problemi di fuga molto basilari che qualsiasi sviluppatore PHP competente avrebbe dovuto evitare. – bobince

risposta

57

Sono un fan di WordPress, ma ci sono sicuramente problemi che impediscono ai programmatori di provare a lavorarci. Come piccolo esempio, c'è get_the_content() (resi) e the_content() (stampe), ma c'è get_permalink() e the_permalink(). Quindi, c'è solo the_date(), perché accetta un argomento che indica se vuoi che venga stampato o restituito. Questo genere di cose spinge al muro anche una persona con esperienza di WP, perché devi sempre usare Google come usare Google - e parla di una più profonda mancanza di attenzione ai dettagli nel codice.

Un altro problema eclatante è la mancanza di cache incorporata. Ne era persino abituato, ma lo hanno strappato e mai sostituito. Non è necessario un plug-in di terze parti per avere un caching di base in un sistema come WordPress, in particolare con tutti gli altri campanelli e fischietti.

Per parafrasare (presumibilmente) Churchill, però, "WordPress è il peggiore sistema di blogging ... tranne per tutti gli altri ".

+6

I penso che questo sia tutto valido, ma penso che ci sia una scelta consapevole in Wordpress per non duplicare il caching quando il plugin della cache lo stava facendo meglio. La tua argomentazione è un po 'come dire "Non dovresti avere bisogno di un elaboratore di testi di terze parti. Windows dovrebbe venire con un word processor completo già pronto all'uso". – Finster

+12

@Finster WordPress privo di qualsiasi tipo di cache è come la spedizione di Windows senza NotePad o WordPad. – ceejayoz

+4

Parafrasi piacevole –

10

È una domanda soggettiva di sicuro. Dall'esperienza ho notato che WP prende il via, molto più risorse del server rispetto ad altri sistemi o al mio codice personalizzato. Di conseguenza, ho dovuto spostare i siti WP dai miei server. Quindi la mia esperienza suggerisce che ci sono alcuni problemi di utilizzo della memoria.

Come esercizio provare a passare attraverso il codice, tracciando la logica dall'inizio di una richiesta in una pagina, e guarda quanti oggetti vengono caricati, quanti metodi vengono chiamati prima che venga emesso qualsiasi HTML.

+0

@ devin-ceartas:> tracciare la logica dall'inizio di una richiesta a una pagina Come possiamo farlo in un codice? – justjoe

+0

Stavo leggendo il codice. –

+0

ho pensato di fare qualche funzione di debug o pluggin; D – justjoe

12

Ho scritto molte applicazioni personalizzate in PHP/MySQL nel corso degli anni, da piccole a enormi. Non avendo avuto il tempo di imparare i dettagli di WordPress, trovo molto frustrante lavorare con (sotto il cofano).

Soggettivamente:

  • Molto poveri convenzioni di denominazione
  • flusso
  • esecuzione è bizzarro
  • generale mancanza di organizzazione
  • Difficile Audit cosa succede quando
  • ecc ...

I loro concetti di usabilità sono grandi, e su anche il pport per i plugin è fantastico. Mi piacerebbe solo vedere il sistema riprogettato con quei principi, ma con una metodologia di sviluppo disciplinata e chiara.

Sono sicuro che il prossimo direbbe "no non lo è, bla bla bla", ma questa è solo la mia opinione dopo averlo incontrato (hosting, modifica) circa 3 volte.

6

A parte ciò che è stato già detto:

Nessun sistema di template sano di mente. Tutti questi anni e hanno ancora codice PHP intrecciato con HTML, e modelli predefiniti che non hanno alcun supporto per i18n o l10n (stringhe hard-coded, formati data codificati, ecc.).

Punti di accesso multipli: forse sono solo io, ma è fastidioso. Soprattutto quando alcuni di questi sono troppo grandi.

+1

No i18n? Chiaramente falso, è integrato. Http://codex.wordpress.org/I18n_for_WordPress_Developers '$ hello = __ (" Ciao, caro utente! ");' La stessa cosa per i formati di data - http://codex.wordpress.org/ Function_Reference/date_i18n – ceejayoz

+1

Non in modelli. –

+0

Un frammento della nuova versione, wp_content/themes/default/single.php: http://codepad.org/yU2Kaoe6 –

3

Quando devi essere sicuro di una dichiarazione fatta da "tutti", se puoi, sta provando a controllarla da solo.

E puoi fare qualcosa nella tua dichiarazione: basta leggere il codice sorgente di Wordpress. Alcuni moduli sono buoni, alcuni sono a mess, altri sono solo normali. Ma tutti compongono un grande sistema di blog che viene utilizzato da migliaia di persone in tutto il mondo che sono più interessati a scrivere cose buone invece di lamentarsi di "quanto sia brutto" un particolare codice sorgente. In breve, i creatori di Wordpress hanno un prodotto spedibile che è utile.

Alla fine, non importa. Se vuoi un sistema di blog perfetto, puoi sempre scriverne uno tu stesso.

+1

Bene, ancora una volta, mi piacerebbe capire il voto negativo, quindi potrei migliorare os cancellare la mia risposta? Almeno l'elettore ha provato a leggere il link UFFICIALE per wordpress che ho dato a http://core.trac.wordpress.org/browser/tags/2.8.4/wp-admin/includes/template.php, e ho verificato perché ho considerato un pasticcio (è persino scritto nel modulo ufficiale stesso)? – GmonC

4

si può dare alcuna ragazzi specifici esempi di ciò che non ti piace su , o quello che avrebbe programmato in modo diverso?

Avrei aggiunto più commenti.

Una nota a parte, la versione più recente di Wordpress ha introdotto un pezzo labirintico di codice che nega l'accesso a pagine che: 1. non si trovano in un menu o sottomenu 2. non sono nella variabile $ _registered_pages .

Molti nuovi plug-in per le versioni precedenti di Wordpress sono stati interrotti da questa nuova misura di sicurezza.

Infine, sessioni. Wordpress fa del suo meglio per toglierti di mezzo gestendo tutti i dati della sessione in modo separato dalla variabile $ _SESSION di PHP, ma non ti dà la possibilità di avviare la sessione PHP, devi aggiungerlo al programma principale te stesso. Non ho trovato documentazione che consentisse a noi hacker di WP e autori di plug-in di trarre vantaggio dalla preesistente sessione WP.

Problemi correlati