Ho alcuni parametri generali che vorrei condividere lungo tutta la mia applicazione come informazioni sul percorso ("baseurl"). Dove preferisci memorizzare queste informazioni in Silex?Dove posso memorizzare i parametri generali di configurazione in Silex?
risposta
Dopo aver scritto questa domanda mi sono imbattuto nel ConfigServiceProvider: https://github.com/igorw/ConfigServiceProvider
È possibile memorizzare i dati di configurazione nel file YML JSON o e accedervi attraverso $app["name.of.config.var"]
.
Sono supportati anche i sostituti per aggiungere valori dinamicamente ai file di configurazione durante l'installazione. L'unica cosa che non ho gestito fino ad ora è iniettare la baseurl tramite l'API $app["request"]
nei file di configurazione.
Lo memorizzerei in Silex\Application
. E 'un DI-contenitore in base Pimple, quindi si può semplicemente fare:
$app['baseUrl'] = '/';
Dal $app
praticamente viene passati in giro in tutto il mondo, si avrà anche accesso a questo in tutto il mondo.
Ho un file config.php che includo dopo che l'istanza 'Application' è stata avviata, imposta solo i valori di configurazione su' $ app'. Questa è la soluzione migliore. – Maerlyn
Ti consiglio di ottenere direttamente baseUrl dalla richiesta quando ti serve. – igorw
Per https://github.com/igorw/ConfigServiceProvider mi sento di consigliare https://github.com/Incenteev/ParameterHandler – Jekis