Pubblicato il

Struttura cartelle

Organize project files, best practices directory folder organization.

Per una migliore consistenza dei dati, o meglio dell’intero progetto, è necessario organizzare i files in directory dallo scopo ben preciso., ovvero cartelle che raggruppano secondo una logica di omogeneità, tutti i vari file dell’intero progetto.

Ecco, ad oggi, come alcuni framework più famosi, organizzano i file:

  • Zend – https://framework.zend.com/manual/1.12/en/project-structure.project.html
  • Laravel – https://laravel.com/docs/master/structure
  • Symfony – http://symfony.com/doc/current/best_practices/creating-the-project.html#structuring-the-application

 

Struttura ZEND

  • <project name>/
    • application/
      • configs/
        • application.ini
      • controllers/
        • helpers/
      • forms/
      • layouts/
        • filters/
        • helpers/
        • scripts/
      • models/
      • modules/
      • services/
      • views/
        • filters/
        • helpers/
        • scripts/
      • Bootstrap.php
    • data/
      • cache/
      • indexes/
      • locales/
      • logs/
      • sessions/
      • uploads/
    • docs/
    • library/
    • public/
      • css/
      • images/
      • js/
      • .htaccess
      • index.php
    • scripts/
      • jobs/
      • build/
    • temp/
    • tests/

Zend Module

Imitando la struttura generale dell’applicazione:

  • <modulename>
    • configs/
      • application.ini
    • controllers/
      • helpers/
    • forms/
    • layouts/
      • filters/
      • helpers/
      • scripts/
    • models/
    • services/
    • views/
      • filters/
      • helpers/
      • scripts/
    • Bootstrap.php

 

 

Struttura Symfony

  • blog/
    • app/
      • config/
      • Resources/
    • bin
      • console
    • src/
      • AppBundle/
    • var/
      • cache/
      • logs/
      • sessions/
    • tests/
      • AppBundle/
    • vendor/
    • web/

 

  • app – file configurazione, cache, log, alcuni template base, classe principale dell’applicazione AppKernel.
  • bin – file eseguibili da riga di comando.
  • src – il Bundle (tipo plugin) della nostra applicazione vera e propria. Nel nostro Bundle metteremo tutto il codice PHP, template, file di configurazione.
  • vendor – bundle e librerie di terze parti (es. componenti di Symfony2)
  • webfile statici (img, js, css) appartenenti alla nostra applicazione e agli altri bundles, file app.php e app_dev.php (due file che caricano la nostra applicazione)

 

Fonti e Risorse

http://www.php.net/manual/en/userlandnaming.php