Ho richiesto le stesse informazioni e ho la possibilità di ricevere la risposta di mike's e fabien. Ecco i dettagli:
Per una logica con sottodomini: http://trac.symfony-project.org/wiki/HowToDoMultipleSitesWithSingleCore
più siti basati su configurazioni identiche Questo può essere un argomento strano, ma ho voluto configurare il nostro accesso in sottodomini, tutte con accesso SSL. Avevamo bisogno di siti diversi perché SSL impone domini virtuali basati su IP, il che significava diverse radici del documento per noi. Come ad esempio:
• siti www.mydomain.com • admin.mydomain.com • parents.mydomain.com Tuttavia, questi erano tutti con lo stesso schema di base e plugin. Il vantaggio di questa configurazione è:
• File modello condiviso: Tutte le classi XxxPeer saranno collegati tra le applicazioni Svantaggio:
• Si dispone ora di 2-n diversi cache/log da monitorare. Se si guarda a una tipica struttura di directory Symfony, che può essere suddiviso in due gruppi di tipo:
• directory comuni: ◦batch ◦config ◦data ◦doc ◦lib ◦plugins ◦test • Application directory specifiche: ◦apps ◦cache ◦log ◦web Questi sono i passi che ho preso:
• Sviluppare la www.yourdomain.com sc hema e sito. Una volta che questo inizia a riunirsi, puoi iniziare a sviluppare i siti aggiuntivi. • Nel nuovo sito, collegamento simbolico Directory comuni • Nel nuovo sito, creare le directory specifiche dell'applicazione ◦NOTA: nella directory Web, potrebbe essere necessario copiare alcuni dei contenuti originali (css, js e. i file htaccess vengono in mente). Tieni questo in mente mentre inizi a far apparire il nuovo sito. • Esegui il comando symfony fix-perms ◦NOTA: per me Virtualmin crea questi nuovi siti con nuovi nomi utente. Dovrai assicurare che tutte le directory specifiche dell'applicazione siano di proprietà di tale nome utente, quindi i comandi di cancellazione della cache e i comandi di registrazione funzionano. • Ora il progetto è configurato. Inizia facendo: ◦symfony app MYAPP ◦symfony module MYAPP MYMODULE ◦ ... • Ora troverai che le tue app/MYAPP/moduli/MYMODULE sono state create e hai accesso completo a tutto il database
Ecco di seguito una logica con nomi di domini diversi: client1.com client2.com che utilizza le stesse app.
Per una logica con domini diversi: "È possibile puntarli tutti sullo stesso controller anteriore e quindi utilizzare un filtro o una classe padre azione per eseguire operazioni come modificare il modello del sito ecc. Tuttavia, avere un controller anteriore per dominio può essere più efficiente ed è un ottimo modo per andare.
Ogni dominio può avere una propria applicazione, ma la maggior parte della logica deve essere implementata nei plugin, in modo che possano essere abilitati per ogni dominio/app che ne ha bisogno e condivisa come richiesto. Quanto è necessario il codice per applicazione dipende, immagino, da quanto diversi sono effettivamente i siti. "
Grande, stavo anche pensando di utilizzare configurazioni di questo tipo e si hanno appena confermato per me. Mi piace il fatto che questo approccio consenta a ciascuna app di pensare che sia l'unica a renderla completamente configurabile per sito. – Ryall