Domanda

In ogni grande applicazione c'è una sezione amministrativa.
In tali casi, quando non si utilizza ZF, io di solito metto tutta la roba admin in una directory separata con misure di sicurezza supplementari (come l'aggiunta di autenticazione basata .htaccess e / o un secondo login, ecc). Questo rende anche abbastanza evidente nella struttura di file di quale file è quello.

Come posso ottenere lo stesso design ZF? Oppure ci sono le pratiche migliori per creare una sezione di amministrazione?
Dovrei farlo nel livello di router (se non v'è "admin" nell'URL, allora io uso un file diverso index.php / bootstrap ....)
Credo che il più semplice era appena utilizzando un controller per tutte le cose di amministrazione, ma ho troppo di questo. Così Ho diversi lato controllori di amministrazione a fianco con i controllori app regolari. Si fa un pasticcio nella mia directory controllori -? Quale controller è admin e che non è

È stato utile?

Soluzione

Io in genere creare un separato cartella "applicazione" - con tanto di controller e view directory, nonché un elenco pubblico per i contenuti statici - per l'intero sistema di gestione. L'Amministrazione di solito ha esigenze diverse per cose fondamentali come la gestione degli accessi, e potrebbe essere diverso dal reale applicazione in numerosi altri modi. Quindi penso che sia una buona idea di separare il codice sorgente del tutto. Alcuni del codice sorgente può ancora essere comune, però. Gli esempi includono le cartelle di libreria e modelli di database.

Questo approccio dà anche grande flessibilità al momento di decidere dove l'utilità di amministrazione dovrebbe essere disponibile. È possibile utilizzare il directice apache alias per dirla in una sottodirectory sullo stesso dominio, o metterlo su un vhost separata. E 'tutto a voi.

Altri suggerimenti

L'ho fatto come un modulo . Oltre al collegamento del modulo fornito da Brett Bender vedere la sezione 12.3.2.2 nel link che ho fornito.

Si dovrebbe verificare utilizzando i moduli con ZF. Si può avere un modulo predefinito per contenere cose non amministratore, e un modulo di amministrazione per contenere tutto amministrativa. Utilizzando un modulo predefinito non cambierà gli URL correnti e gli URL modulo di amministrazione sarà simile server.com/admin/controllername/actionname/params. Questo risolverà i controller di tutto l'essere nello stesso posto e ottenere ingombra. Inoltre, è possibile creare una sottoclasse Zend_Controller_Action e fare una Master_Controller nei modelli per mantenere la funzionalità Shared. Poi basta fare un Admin_Controller che estende il controllore master per la funzionalità amministrativo condiviso e hanno tutti i controller nel modulo di amministrazione sottoclasse che. È possibile utilizzare una struttura simile per organizzare la funzionalità non-admin condiviso nel vostro altro modulo (s).

Zend Framework - struttura di directory modulare

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top