Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa Configurator, Narzedzie do obslugi plikow konfiguracyjnych
Prph
post 30.05.2006, 15:29:02
Post #1





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Witam,

Pisze framework do wlasnych potrzeb. Planuje napisac PROSTA i uzyteczna klase do ladowania konfiguracji.

Moze macie z tym doswiadczenie?
Moje rozwiazanie w szkicu jest nastepujace:

  1. <?php
  2.  
  3. class Configurator
  4. {
  5.  
  6. public function getAttribute()
  7. {
  8. $aConfig = array // Tablica asocjacyjna konfiguracji
  9.  (
  10.  'Actions' => array
  11. (
  12. 'Error404' => array
  13. (
  14. 'security' => false,
  15. 'nextModule' => 'Test'
  16. ),
  17.  
  18. 'Default' => array
  19. (
  20. 'security' => false,
  21. 'nextModule' => 'Default2'
  22. )
  23. )
  24.  );
  25.  
  26. if(func_num_args() == 0) // Dostep do konfugiracji uzyskuje sie przez
  27. return null;  // liste parametrow do funkcji.
  28.  // Kolejne parametry, to kolejne węzły konfiga
  29.  
  30. $aArgs = func_get_args();
  31.  
  32. $aCurrentConfig = $aConfig;
  33.  
  34. foreach($aArgs as $sKey => $sAttributeName) // przechodzac przez kolejne elementy, zmieniamy "obecny węzeł"
  35. {
  36. if(isset($aCurrentConfig[$sAttributeName]))
  37. $aCurrentConfig = $aCurrentConfig[$sAttributeName];
  38. else
  39. return null; // jeżeli nie znalaziono podanego węzła, zwracamy null
  40. }
  41.  
  42. return $aCurrentConfig; // niby to array, ale jezeli chcemy dokladnie
  43. // wartosc ostatniego wezla, zwrocona zostanie
  44. // nie tablica, ale inna zmienna.
  45. }
  46.  
  47. public function hasAttribute() {}
  48. public function setAttribute() {}
  49.  
  50. public function saveConfiguration() {}
  51. }
  52.  
  53. $oConfigurator = new Configurator();
  54.  
  55. echo $oConfigurator->getAttribute('Actions', 'Default', 'nextModule');
  56. // zwroci "Default2".
  57.  
  58. ?>


Bede wdzieczny za wskazowki, radu, etc. Pozdrawiam, Adrian.
Go to the top of the page
+Quote Post

Posty w temacie
- Prph   Klasa Configurator   30.05.2006, 15:29:02
- - NuLL   http://ez.no/doc/components/view/1.0.1/(fi...figur...   30.05.2006, 15:37:14
- - Cysiaczek   Osobiście, to mi się ten array nie podoba. Może je...   30.05.2006, 15:38:46
- - NuLL   Dostep tablicowy jest szybszy - nie ma sensu tworz...   30.05.2006, 15:42:37
- - Prph   No i jeszcze mozna wziac pod uwage to, ze niekonie...   30.05.2006, 15:51:02
- - Cysiaczek   A może pobierac dane tylko wtedy, gdy będzie taka ...   30.05.2006, 15:54:05
- - NuLL   Duzych plikow konfiguracyjnych sie nie tworzy. Duz...   30.05.2006, 15:54:37
- - Cysiaczek   No widzisz NuLL. Może jednak obiekty, bo zarządzac...   30.05.2006, 15:56:47
- - NuLL   Pokaz mi przewage obiektow nad tablicami Plusy pr...   30.05.2006, 15:58:46
- - Prph   Odnosnie obiektowego podejscia. Chodzi np o uzyska...   30.05.2006, 16:10:53
- - NuLL   Prph - da sie. Tylko po co ? Poczytaj o __get w m...   30.05.2006, 17:57:16
- - Prph   __get znam, ale umiem tylko jeden poziom odczytac....   30.05.2006, 21:18:47
- - hwao   zagniezdzasz pare obiektow i jedziesz po koleji po...   30.05.2006, 22:03:22
- - Prph   Tak myslalem.... Beznadziejnie Ma byc prosta Na...   31.05.2006, 06:18:33
- - arturwow   Ja na potrzeby swojego frameworka popełniłem takie...   9.07.2006, 12:46:20
- - Ociu   Najogólniej to zrobiłem to tak: [PHP] pobierz, pla...   10.07.2006, 08:38:00
- - Ludvik   Co do powyższego kodu - dziwnie według mnie napisa...   10.07.2006, 09:43:12
|- - Ociu   Cytat(Ludvik @ 10.07.2006, 10:43 ) Co do ...   13.07.2006, 07:58:12
- - Strzałek   Ja skorzystałem z ArrayAccess [PHP] pobierz, pla...   10.07.2006, 11:16:15
- - bigZbig   A ja proponuję zapoznać się z Zend_...   11.07.2006, 06:50:52


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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:17