Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sposób na GLOBALNY konfig aplikacji, Co o tym sądzicie?
LowiczakPL
post
Post #1





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Witam

mam pytanie co sądzicie o takim sposobie rozwiązania na globalną konfigurację aplikacji

Klasa kontrolera konfiguracji
  1. <?php
  2.  
  3. namespace Core;
  4.  
  5. final class Config {
  6.  
  7. public static $config = array();
  8.  
  9. public static function getValue($module, $var) {
  10. if (isset(static::$config[$module][$var])) {
  11. return static::$config[$module][$var];
  12. }
  13. else {
  14. include_once('conf/conf.php');
  15. static::$config = $configs;
  16. return static::$config[$module][$var];
  17. }
  18. }
  19.  
  20. }



plik z konfiguracją

  1. <?php
  2.  
  3. switch (ENVIRONMENT) {
  4. case 'development':
  5. $configs['app']['url_website'] = 'http://testowa.rr/';
  6. $configs['app']['debug'] = 'on';
  7. break;
  8. case 'production':
  9. $configs['app']['url_website'] = 'http://mojadomena.pl/';
  10. $configs['app']['debug'] = 'off';
  11.  
  12. break;
  13. default:
  14. exit('Aplikacja nie działa poprawnie, ustaw tryb pracy.');
  15. }
  16.  
  17. $configs['app']['url_ogloszenia'] = $configs['app']['url_website'].'ogloszenia/';
  18. $configs['app']['router_rejestruj'] = 'rejestruj.html';
  19. ...
  20.  


Użycie konfiguracji w klasach

  1. <?php
  2. namespace Controllers;
  3.  
  4. use Helpers\Url;
  5. use Core\Config;
  6.  
  7. public function mojeKonto()
  8. {
  9. ...
  10. Url::redirect(Config::getValue('users','router_mojekonto'));
  11. }
  12.  


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Mi tam od razu nasunęło się 10 pytań "a co jeśli..." ;)

- jak masz kilka plików cfg, to przydałaby się metoda która po prostu wgra te pliki (uwzględniając to, co zrobić gdy dany klucz już istnieje)
- jeśli już masz kilka plików, to mogą być one w różnych formatach np ini, json itd.
- skoro już możesz pobierać wartości, to czasami przydaje się wartość domyślna która zostanie zwrócona gdy nie ma odpowiedniego klucza
- a jeśli już możesz pobierać coś z pliku, to możesz go również generować/nadpisać

To tak jakbyś chciał to rozbudować w przyszłości...

Ten post edytował !*! 25.05.2016, 10:08:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 12:31