Struttura della directory del progetto

0

In realtà sto usando questa struttura di directory del progetto link

Ma di recente ho iniziato ad usare gli spazi dei nomi in tutte le mie classi php come:

Myapp\Configuration\
Myapp\Controller\
Myapp\Persistence\Entities\
Myapp\Persistence\Dao\
Myapp\Validation
....

e ora sono un po 'confuso su dove dovrei mettere tutte queste directory per mantenere una struttura di cartelle corretta.
Nella vecchia struttura di directory del progetto ho anche scritto i nomi delle directory in minuscolo, ma ora con gli spazi dei nomi ho visto che la maggior parte dei framework usa camelcase come nell'esempio sopra.

Qualsiasi aiuto sarebbe apprezzato.

    
posta Daniel 21.10.2014 - 08:54
fonte

1 risposta

2

I progetti PHP più moderni sono strutturati in modo molto simile a un pacchetto Java; cioè una cartella sorgente di primo livello, con sottodirectory per ogni venditore, contenente sottodirectory per singoli pacchetti e così via.

Tuttavia, poiché PHP non ha lo stesso tipo di caricamento delle classi come un linguaggio come Java, carica le sue classi usando una funzione di caricamento automatico. Ciò significa che i file devono trovarsi in una posizione prevedibile oppure essere ignorati dal caricatore.

PSR-0 e PSR-4 le specifiche del PHP Framework Interop Group (PHP-FIG) hanno lo scopo di standardizzare la struttura dei pacchetti. Queste specifiche sono adottate e implementate da quasi tutti 1 moderni (vedi: ultimi anni) librerie, pacchetti e applicazioni PHP; sono stato aiutato da Compositore .

In breve, la specifica PSR-0 richiede che, in una determinata directory, i file siano strutturati e denominati in base allo spazio dei nomi della singola classe che contengono. Ad esempio, se la directory di origine è src e hai una classe My\Simple\Class , la tua classe potrebbe essere trovata in

~/src/My/Simple/Class.php

1 Non riesco a pensare a un singolo progetto in cima alla mia testa, ma sono sicuro che ce ne sono alcuni là fuori.

    
risposta data 21.10.2014 - 09:43
fonte