Moduli

Salve ragazzi!

Mi appresto a sviluppare un’applicazione complessa utilizzando Yii framework e avrei bisogno di alcune delucidazioni in modo da poter strutturare al meglio la situazione (è la prima volta che utilizzo Yii). Ho alcuni dubbi sui moduli… la mia domanda è: supponiamo che io abbia un modulo A ed un modulo B, è possibile accedere da A ai model che risiedono in B?

Posta la domanda in un altro modo: I moduli sono piccole applicazioni indipendenti, ma se in una pagina avessi bisogno di percepire informazioni rappresentate da model che risiedono in moduli diversi, come si può fare?

Grazie :rolleyes:

quello che vuoi fare è concettualmente sbagliato, ogni singolo modulo è un applicazione indipendente, quindi non può avere delle dipendenze nei confronti di un altro.

se hai un modulo A che ha necessità di accedere al modulo B e vice versa quello che hai tra le mani è in realtà un modulo unico.

poi ovviamente va bene aver la necessità di accedere ai dati di due moduli dall’applicazione generale.

riguardo come vuoi rendere accessibili questi dati ti direi semplicemente di far erogare dei servizi da tali moduli in maniera tale da accedere ai dati necessari

I model si possono richiamare ovunque, ma come ti è stato già detto è concettualmente "sbagliato". Sbagliato = non rispetta il design del modulo in quanto tale. Per scrivere del codice migliore, puoi sempre dotare ciascun modulo di componenti da usare per estrarre dal modulo le view o i model che ti occorrono.

Anche sviluppare un unico modulo potrebbe essere una soluzione al tuo problema. Andrebbe compreso più nel dettaglio.

Grazie per le risposte ragazzi!

Si, sentivo un po lo stridio dell’errore. Più che altro era un ragionamento puramente pratico. Sostanzialmente devo sviluppare un e-commerce particolare e volevo suddividere in più parti, ad esempio: amministrazione, commercio, strumenti per il commercio… A questo punto credo che la soluzione più pulita sia ridurre il tutto ad un unico modulo o al più ai moduli di amministrazione e di commercio… voi che ne dite?