Mi sembra che le regole base siano:
1) Mai definire le funzioni prima del loro utilizzo
2) Organizzare i file con una logica (che sta a te assegnare, comunque i file principali nella /, le classi incluse in /classes/ o /includes/classes/, le immagini in /images/ e così via)
3) Commentare i file dando una spiegazione a ciò che fa, ma non ovvietà, quindi evitando:
// Check if user is logged
if ( $user->checkLogin() )
4) Non utilizzare i commenti #
Mi sembra che sia un mix di buon senso incluso il formato standard di qualche tipo di regole per la programmazione (se qualcuno conosce il nome e posta le regole precise, ne sarei grato).
e infatti sono d'accordo su tutto, siamo quindi sulla stessa linea (sembra che però non ce ne rendiamo conto).
Io però ho posto una domanda ben precisa che riguarda l'organizzazione delle directory. Qualcuno ha risposto in modo abbastanza soddisfacente (anche se non condivido il mettere tutto in un unico file), mentre altri sembra che ci girano intorno passando su altri dettagli di cui peraltro sono già a conoscenza.
Cmq tra le varie cose diciamo che tutto sommato ho avuto le informazioni che volevo, quindi ad ogni modo ringrazio tutti, e direi che possiamo chiudere la discussione
problemi tipo?
Inoltre molti autoloader come questo
https://github.com/php-fig/fig-stand...epted/PSR-0.md
gestiscono sia namespace che underscore
Quello che stai applicando è fondamentalmente il concetto di packaging di Java. In effetti non esistono regole precise in tal senso in quanto si tratta solamente di una questione organizzativa. Facendo un parallelo con le interfacce molti tendono a mettere le interfacce in una cartella e le loro implementazioni nella sottocartella impl ma, ti ripeto, non esistono regole vincolanti in tal senso.
Per quanto riguarda i nomi di classi, attributi e metodi ti consiglio di adottare le Java Naming Conventions
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
ciao, puoi vedere lo stesso standard nella mia firma e anche le regole di applicazione di tale standard.
i problemi stanno nel fatto che per l'autoloader l'underscore non conta nulla e viene sostituito con un backslash
quindi la tua classe
app\common\form_validator non esiste
app\common\form\validator esiste
avere questo tipo di dis-allineamento tra namespace e nomi classi può essere molto fastidioso.
Questa volta, più che un voto.. è favoreggiamento.
embè
quindi se creo una classe app\Abc_d significa che tale classe in realtà non esiste...
quindi la tua classe
app\common\form_validator non esiste
app\common\form\validator esiste
!!!!!!!!!!?????????
sul disallineamento posso esssere d'accordo anche se non vedo tutto questo fastidioavere questo tipo di dis-allineamento tra namespace e nomi classi può essere molto fastidioso.