Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> metody magiczne i odczyt z pliku settings.ini
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Skoro po kilku konsultacjach doszedłem do wniosku, że jednak nie warto stosować tablicy $GLOBALS do przechowywania ustawień witryny zaczałem pisać klasę settings (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) Wygląda ona mniej więcej tak:

  1. <?php
  2. class settings //ta klasa wchodzi w skłąd klasy głównej jako singleton
  3. {
  4. private static $instance = null;
  5. private $tablica=array( "db_name"=>"test" ); //tablica przechowywująca zmienne 
  6.  
  7. public function get_instance() //funkcja do przekazania instancji - singleton
  8. {
  9. $class = __CLASS__;
  10. return self::$instance == null ? self::$instance = new $class : self::$instance;
  11. }
  12.  
  13. function __get( $name ) //magiczna metoda do pobierania zmiennych
  14. { 
  15. return strtolower( $this->tablica[$name] );
  16. }
  17. }
  18. ?>


Chciałbym teraz wczytać do tablicy '$tablica' zmienne z pliku 'settings.ini' który wyglądał będzie tak:
Kod
db_name = nazwa_bazy
db_host = nazwa_hosta
itd...

Pierwsze pytanie:
-- Czy istnieje jakaś fajna funkcja która wczyta za mnie zmienne z pliku .ini? Może ktoś ma i mógłby mi wkleić? (znalazłem już dlatego pytanie jest nieważne - funkcja $ini = parse_ini_file('file.ini'); )
-- Chciałbym jednak zapytać czy uważacie że to dobry (albo zły) sposób na napisanie takiej klasy. Pytam bo nie chce juz tego poprawiać więcej (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Drugie pytanie dotyczy posta którego nie mogę teraz odnaleźć ale pisało w nim, że:
Cytat
(..)metody magiczne zaciemniają kod(..)

-- Czy powinienem unikać metody magicznej? Muszę przyznać, że w tym wypadku znacznie poprawiłaby ona czytelność kodu.

Ten post edytował Black-Berry 20.02.2008, 13:05:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




No co? ;p Pierwsze 2 punkty są zupełnie na poważnie. W moim odczuciu wpadasz w panikę i miotasz się, bo chcesz wszystko od razu mieć naj. Tak się nie da, bo konsekwencje odczujesz dopiero, gdy zaczniesz tego używać. Pomyśl o tym jak o żywym organiźmie. Mózg sam nic nie robi, tylko wydaje polecenia za pośrednictwem połączeń nerwowych. Tak samo od nich odbiera sygnały. Każdy singleton to jak połączenie oddzielnym kanałem nerwowym, który omija wszystkie inne i cholera wie, jakie informacje tam idą.
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: 9.10.2025 - 07:59