Quale progetto PHP open source ha il design OOP "perfetto" da cui posso imparare? [chiuso]

9

Sono un principiante di OOP e imparo meglio con l'esempio.

Potresti dire che questa domanda è simile a Quali progetti open source Scala dovrei studiare per imparare le migliori pratiche di codifica - ma in PHP.

Ho sentito dire che Symfony ha la migliore 'architettura' (non farò finta di sapere cosa significa esattamente), oltre a Doctrine ORM. Vale la pena spendere molti mesi a leggere il codice sorgente di questi progetti, cercando di dedurre i modelli utilizzati e di imparare nuovi trucchi?

Ho visto un numero uguale di pagine web che dissing e piacciono il codebase di Zend (fornirà collegamenti se ritenuto necessario).

Conoscete qualche altro progetto che possa far piangere di gioia qualsiasi sviluppatore veterano di OOP?

Per favore lasciatemi aggiungere che la praticità e il campo di applicazione non sono affatto una preoccupazione qui - voglio solo fare:

  • Scegli un progetto che abbia una base di codice ritenuta fantastica dagli sviluppatori in modo migliore e più grande di me.
  • Scrivi codice che raggiunge ciò che fa il progetto.
  • Confronta i risultati e cerca di imparare ciò che non so.

In sostanza, un codice di interesse accademico. Qualche raccomandazione per favore?

    
posta Aditya M P 05.04.2012 - 18:42
fonte

2 risposte

2

Symfony 2 è probabilmente il miglior grande progetto da cui imparare, ma è piuttosto grande.

Recentemente ho trovato un progetto PHP open source pulito e di piccole dimensioni chiamato Phrozn (generatore di siti statici). La base di codice è relativamente piccola, quindi puoi esaminarla abbastanza velocemente.

AGGIORNAMENTO:

Phrozn è moderno (usa PHP 5.3+ e si basa su di esso pesantemente), è estendibile, ha una copertura del codice molto rigida. Re-utilizza anche il codice di altri progetti ben scritti come Symfony (YAML), Zend (Autoloader), PEAR e Twig.

OOP, usa gli spazi dei nomi ed è molto ben documentato. Non sto dicendo che sia perfetto né che possa essere paragonato a un progetto come Symfony ma vale la pena provarlo.

    
risposta data 06.04.2012 - 11:35
fonte
17

Beh, personalmente direi di controllare Symfony2 . È praticamente il miglior grande progetto end-to-end che abbia mai visto. Questo non vuol dire che non ci siano parti negative, ma nel complesso è abbastanza buono.

Ora Zend è nel mezzo. Se guardi l'API pubblica, è abbastanza buono. Ci sono alcune parti del WTF, ma per la maggior parte va bene. Se inizi a scavare di più, troverai un MOLTO più codice WTF ...

Per quanto riguarda cosa evitare a titolo definitivo:

  • CodeIgniter - Modello Fubar MVC
  • Kohana - Un sacco di statistiche
  • Cake - Semantica di oggetti PHP 4
  • Drupal - Non OOP affatto
  • Wordpress - Non OOP affatto

Per quanto riguarda il resto, scoprirai che è incostante. Ci sono parti buone e cattive per tutti i disegni. Dai un'occhiata a Lithium , ha alcuni concetti di design davvero interessanti. Ma ha anche un sacco di reindirizzamento fubar e hackery per farlo funzionare.

E questo è quello che devi portare in banca. Non esiste un design perfetto, non provare a trovarne uno. Invece, guarda un sacco di loro là fuori e decidi tu stesso. Prova ciascuno, prova a romperli. Cerca di capirli solo leggendoli (che è un buon test di un design sano) ...

Solo la mia opinione personale ...

    
risposta data 05.04.2012 - 20:32
fonte

Leggi altre domande sui tag