Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> statyczne, few questions
Apo
post 24.03.2006, 18:23:03
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Mam kilka pytan odnosnie statycznych. Mam 2 klasy. Pierwsza klasa jest parserem plików ini:
  1. <?php
  2. class ini_parser {
  3. const CONFIG_FILE = 'config.ini';
  4. static $dane;
  5.  
  6. public function __construct()
  7. {
  8. if(file_exists(self::CONFIG_FILE))
  9. $this->dane = parse_ini_file(self::CONFIG_FILE);
  10. else
  11. {
  12. echo 'Brak pliku konfiguracyjnego';
  13. }
  14. }
  15.  
  16. static public function __get( $dane ) // nie wiem czy tak mozna w statycznych metodach
  17. {
  18. if(array_key_exists($dane, self::dane))
  19. return self::dane[$dane]; // tu mi wywala błąd: Parse error: syntax error, unexpected '[' nie wiem czemu ;/
  20. else return 'Podany klucz nie istnieje';
  21. }
  22. }
  23. ?>

No i teraz jest plik drugiej klasy:
  1. <?php
  2. require_once('plik_z_klasą_ini.php');
  3. class foo {
  4. // ...
  5. // i teraz powiedzmy ze chce otrzymac jakas wartosc z pliku ini czyli robie:
  6. echo ini_parser::host; // no i teraz normalnie powinno mi wyswietlic klucz host ale tak sie nie dzieje (odpowiedzialna jest za to metoda __get
  7. // ...
  8. }
  9. ?>

I jeszcze pytanie odnośnie konstruktora. Czy przy takim użyciu jak pokazałem wykona sie konstrktor klasy parser_ini czy trzeba zainicjować obiekt ?
Pozdro
Go to the top of the page
+Quote Post
pawel_k
post 24.03.2006, 18:56:33
Post #2





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

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


nie wykona sie. poza tym tworząc static public function __get( $dane ) nie mozesz sie do tego odwołać jak w przpadku publicznej magicznej funkcji __get(). i nie self::dane ale self::$dane.
poczytaj o singeltonie i zrob metodę do wyciagania zmiennych ...
Go to the top of the page
+Quote Post

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: 31.07.2025 - 08:03