Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Logica sviluppo codice condiviso con più siti

    Forse il titolo non è dei migliori ma onestamente non sapevo come scriverlo.

    Stò per sviluppare un applicazione e ho in mente diverse soluzioni ma in ognuna trovo sempre qualcosa che non va... e quindi in caso di dubbio mi rivolgo a chi è più esperto di me.


    Ipotizziamo che io abbia 3 domini:

    www.ciccio.it
    www.pippo.it
    www.nino.it

    tutti e tre risiedono sullo stesso hosting e tutti e tre prendono i loro dati dallo stesso database.

    Io stò sviluppando i 3 siti dividendo la parte della logica dalla grafica con i template.
    Le strutture logiche dei 3 siti sono uguali, quello che cambia ovviamente è la struttura grafica.

    Quello che mi crea problemi e far utilizzare a tutti e 3 i siti web il medesimo codice php.

    Praticamente vorrei ottenere il risultato di dover implementare il codice (php classi) da una sola parte e ottenere i medesimi risultati su tutti e tre i siti web.

    1. Ho tentato di includere il codice in modo assuluto
    nella pagina www.ciccio.it/test.php ho incluso: include('http://www.pippo.it/codice.php');
    risultato: mi include tutto ciò che è html ma classi e funzioni non vengono richiamate.

    2. Ho pensato di inserire la logica nel database

    3. Ogni volta entro nei tre siti e sovrascrivo le classi php manualmente. Ma vorrei realizzare qualcosa di più dinamico.

    Usando un gergo musicale, potete darmi un "LA"? Un consiglio su come affrontare il problema?

    grazie
    NO WORK TRIBE
    www.surftribe.it

  2. #2
    aggiungo... stò facendo diverse prove e quella di mettere la logica (classi e codice in generale) nel database mi sembra la migliore e stamparla poi con la funzione eval().

    Invece la struttura e grafica (semplici template.html) risiederebbero nei singoli siti con l'immagini ovviamente.


    I tempi sicuramente diventano più lunghi, perché ogni pagina dovrebbe spararsi una query in più... ma la gestione di n. siti potrebbe essere veramente dinamica potente.

    E se con la stessa logica mettessi anche i tamplate nel DB?

    Consigli sui pro e contro prima che inizio!
    NO WORK TRIBE
    www.surftribe.it

  3. #3
    se tutti e tre stanno sullo stesso hosting non puoi provare ad includere le classi dandogli il percorso fisico sul server?

  4. #4
    si.. provato ma non funziona...

    E' un server virtuale aruba (partizione di server) , dove sono allocati diversi siti web ma tra loro non è possibile includere codice php.

    Invece con il database si può fare! Tutti i siti possono far riferimento allo stesso DB.
    Ergo stavo pensando di creare una tabella con le classi e funzioni.

    Che problemi potrei avere?

    Stò cercando di sviluppare in modo che se implemento le classi con codice migliore, automaticamente tutti i siti web del mio hosting avranno l'implementazione automaticamente. Fermo restando che graficamente i siti potrebbero essere tutti diversi.

    Che ne pensi?
    NO WORK TRIBE
    www.surftribe.it

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    questa potrebbe essere una soluzione

    Codice PHP:
    // REMOTE.PHP 
    // file sul sito dove tieni i tuoi file da includere ovunque. Questo è quello che restituisce il codice da valutare
    if(isset($_GET['file'])  && is_file('./remote_include/'.$_GET['file']))
      {
      
    $code=file_get_contents('./remote_include/'.$_GET['file']);
      echo 
    $code;
      }

    // richiesta da un sito che necessita del file remoto
    eval(file_get_contents('http://www.sitodistributore.it/remote.php?file=phpmailer.class.php')); 
    per comodità avresti potuto anche farti una funzione tipo remote_include() , solo che però il codice parsato con eval rimarrebbe ingabbiato nella funzione e quindi non più disponmibnile a livello globale....

    cmq non è una bella cosa ciò....
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    ciao e grazie per l'aiuto.
    Cosa ne pensi se invece inserissi tutto nel Database?

    Ho fatto una stima approssimativa dei siti che dovrei gestire in questo modo. Sono tanti ma di piccola entità e con modesti visitatori (100 al giorno esagerando e solo alcuni).

    Sicuramente non è performante come soluzione, forse web server o generatori globali di codice potrebbero essere valide alternative, ma anche queste hanno pro e contro.

    Praticamente realizzerei solo la index.php con un parametro univoco (quello relativo al sito) per ogni sito e poi tramite chiamata al database genererei la struttura dinamicamente delle pagine.
    Faccio un esempio:

    DATABASE
    TB_SITO
    id_sito
    titolo_sito

    TB_TEMPLATE
    id_template
    codice_template (contiene template.html)

    TB_CLASS
    id_class
    Codice_classe (contiene solo la business logic)

    TB_CORRELAZIONE
    template_fk
    class_fk
    sito_fk


    Mi sono capito???
    Che ne pensi?
    NO WORK TRIBE
    www.surftribe.it

  7. #7
    Utente di HTML.it L'avatar di Takeno
    Registrato dal
    May 2007
    Messaggi
    146
    Un altra idea poco ortodossa che mi verrebbe in mente è l'utilizzare un accesso FTP tramite PHP per prendere le pagine che servono..
    Purtroppo è solo teoria da manuale.. non l'ho mai fatto realmente.
    Ma la teoria è già un bel punto

    Via FTP è possibile scaricare file e, in caso esistano, vengano sovrascritti.
    Se cambia solo la grafica del sito e gli script siano gli stessi, non ci dovrebbero essere problemi.. però io propongo:

    E se via FTP ti scaricassi i file che ti servono dal sito www.pippo.it e li sovrascrivessi? Avresti file sempre aggiornati ...

    altrimenti non vedo altra soluzione che la tabella..

  8. #8
    Grazie.... forse ho trovato una soluzione.....

    metto la Logica (classi e funzioni) in una tabella del database.

    A questo punto se modifico la logica,
    faccio partire uno script che si trova all'interno di ogni sito web del circuito, che genererà pagine.php con relative classi.

    In questo modo non carico il database.
    Forse potrei farlo anche della grafica... generando i template.

    Ho creato già il db. 102 tabelle.... bel malloppo!
    NO WORK TRIBE
    www.surftribe.it

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.