Come organizzare correttamente il file system del mio sito?

3

Facendo qualche lettura su Stack Overflow, ho trovato molte informazioni che suggeriscono che una corretta organizzazione di un file system è cruciale per una web app ben scritta. Una delle prove chiave è il riferimento ad alta frequenza a " separazione delle preoccupazioni " nelle domande relative alla conservazione dei programmi organizzati.

Ora ho trovato alcune informazioni sull'organizzazione dei file system ( Standard della gerarchia del filesystem ) dal 2004. Solleva solo due preoccupazioni: in primo luogo, lo standard è un po 'datato, quindi credo che sia possibile fare di più visto i cambiamenti tecnologici negli ultimi 8 anni; in secondo luogo, e la cosa più importante, la mia applicazione è molto piccola rispetto a un'intera distribuzione Linux. Penso che il file system debba essere organizzato in modo molto diverso a causa di ciò.

Ecco cosa sto guardando, attualmente:

/backup
/databases
/scripts
/www 
  /www/dev
    /www/dev/login.php
    /www/dev/router.php
    /www/dev/admin pages (php files)
    /www/dev/sites
      /www/dev/sites/content types (php/html files)
      /www/dev/sites/static pages (php/html files)
      /www/dev/sites/modules
        /www/dev/sites/modules/module-specific-media
      /www/dev/sites/includes
      /www/dev/sites/css
      /www/dev/sites/media
  /www/production
    /www/production/login.php
    /www/production/router.php
    /www/production/admin pages (php files)
    /www/production/sites 
      /www/production/sites/content types (php/html files; not a directory)
      /www/production/sites/static pages (php/html files; not a directory)
      /www/production/sites/modules
        /www/production/sites/modules/module-specific-media
      /www/production/sites/includes
      /www/production/sites/css
      /www/production/sites/media
    
posta Wolfpack'08 22.11.2012 - 10:35
fonte

1 risposta

2

Non esiste una singola struttura che possa adattarsi a tutti i casi. Ad esempio, se si confronta l'albero che hai citato nella tua domanda con un'applicazione web su cui sto lavorando, non va bene. Ad esempio, separano le pagine statiche, mentre la separazione tra pagine statiche e dinamiche non ha senso nel mio contesto della mia app corrente. Creano una directory separata per CSS, mentre io ho un singolo foglio di stile che metto alla radice e sono contento di trovarlo lì. Non ho include, ma aiutanti e qualcosa di paragonabile alle viste parziali, ecc.

Se crei un'applicazione che memorizza e visualizza eventi, la struttura logica sarà per anno, poi per mese e infine per giorno.

Se crei un'applicazione che contiene tre parti logiche, dovrebbe essere riflessa nell'albero.

Ricorda inoltre che l'albero dei file è solo una piccola parte della struttura del progetto; ad esempio, in ASP.NET MVC, nulla vieta di creare il proprio provider di percorsi virtuali e dati host in un database anziché come file se è più conveniente e facile da capire per voi e per gli altri sviluppatori che lavoreranno al vostro progetto in un secondo momento .

Attenersi a una struttura di file che alcuni team hanno inventato per adattarsi esattamente alle loro esigenze di progetto non è una buona idea in questo senso.

    
risposta data 22.11.2012 - 20:34
fonte