Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36

    Come gestire le cartelle e il codice?

    Ciao a tutti
    Mi consigliate modi migliori di quello che utilizzo io?

    Io sono molto per il "modifica in un punto per modificare ovunque"
    Un po' come si usa con il css, si modifica un file per modificare in tutte le pagine.
    Solo che io utilizzo questo "modo di pensare" anche per quanto riguarda l'html e il php

    in ogni pagina del mio sito c'è questo

    Codice PHP:
    <?php
        
    require_once($_SERVER["DOCUMENT_ROOT"].'/mysql/mysql.php');
        require_once(
    $_SERVER["DOCUMENT_ROOT"].'/session/session.php');
        require_once(
    $_SERVER["DOCUMENT_ROOT"].'/get/get.php');
        require_once(
    $_SERVER["DOCUMENT_ROOT"].'/header/inizio.php');

        require_once(
    $_SERVER["DOCUMENT_ROOT"].'/header/fine.php');
    ?>
    ogni pagina quindi ha l'occorrente per connettersi al db ed effettuare le query
    ogni pagina chiama session
    poi eventuali get
    dopo questo
    /header/inizio.php contiene:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="/css/css.css">
    <title><?php  ?></title>
    </head>
    <body>
    e infinie /header/fine.php
    contiene semplicemente
    Codice PHP:
    </body>
    </
    html
    In modo tale che se devo cambiare qualcosa lo cambio solo in una pagina
    per quanto riguarda il <title></title> posso metterci qualcosa di dinamico in php a seconda della pagina in cui si trova l'utente


    In mezzo a questi 2:
    Codice PHP:
        require_once($_SERVER["DOCUMENT_ROOT"].'/header/inizio.php');

        require_once(
    $_SERVER["DOCUMENT_ROOT"].'/header/fine.php'); 
    potrei metterci anche un menu...
    Codice PHP:
        require_once($_SERVER["DOCUMENT_ROOT"].'/menu/sx.php'); 
    in modo tale che se devo cambiare qualcosa nel menu lo cambio solamente in sx.php



    Mettendo il caso che io a tutti quei require_once voglia un giorno aggiungerne un altro
    dovrei aggiungerlo in tutte le pagine...
    quindi potrei anche fare in modo che ogni pagina abbiamo un solo require_once('caricatutti.php') e caricatutti.php carichi tutti i require_once
    quindi se volessi aggiungere un altro require_once mi basterebbe aggiungerlo in una sola.


    Secondo voi è un buon modo di sviluppare le cose nell'eventualità ci siano cose in futuro da aggiustare?
    Se il sito arrivasse ad avere ad esempio migliaia di utenti, ognuno con il proprio profilo, e io volessi cambiare anche un aspetto grafico o aggiungere qualcosa che compaia in ogni profilo... non potrei modificarlo in migliaia di pagine... ci metterei una vita

    Voi che avete più esperienza consigliatemi un po' su come migliorare questo
    Come vi organizzate il codice in modo tale da poter cambiare le cose senza tanta fatica?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36
    Nessuno ha avuto modo di leggere questo?

  3. #3
    Se ho capito bene la tua filosofia, cerchi di raggruppare tutto in piccoli pezzi standardizzati in maniera da avere tutto "più ordinato" per un eventuale modifica/restauro...
    Penso che è una filosofia ormai utilizzata da tutti.
    Una cosa non mi è chiara; ora come ora mi sembra di capire che richiami i "pezzi", in pagine diverse; puoi invece provare a far girare il tutto su un'unica pagina che contiene tanti pezzi standard e uno/altri che variano a seconda dei parametri mandati in get, e poi ottimizzare il tutto con un mod rewrite.

  4. #4
    personalmente sono giunto a organizzare i miei applicativi in questo modo

    codice:
    /public
    /library (che ospita le classi del mio framework)
    /application (pattern MVC)
        /controllers
        /interfaces
        /model
        /bl (per "business logic", tutte le altre classi che fanno parte della specifica applicazione senza però rientrare tra le categorie controolers, interfaces nè model)
        /workers (per effettuare tasks in background con beanstalk)
        /cronjobs (per raccogliere tutti i cronjobs che vengono usati)
        /bootscripts (scripts da eseguire all'avvio del server)
        /shellscripts (scripts da utilizzare da riga di comando)

    una nota per interfaces: fondamentalmente sono classi con diversi metodi che generano output html. In questo modo riesco a sfruttare l'ereditarietà delle classi (che "mi viene gratis") per condividere parti di output comuni a più parti dell'applicativo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.