Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wartość atrybutu klasy
Forum PHP.pl > Forum > PHP > Object-oriented programming
tomek_swat
witam,
mam problem dotyczący nadawania wartości atrybutowi klasy w definicji
  1. <?php
  2. class Connect {
  3.        static public $dbType = Config::getInstance()->getProperty("dbType");
  4.    }
  5. ?>


czemu coś takiego wypluwa mi błąd, podczas gdy przypisanie wartości pochodzącej z singletona do dowolnej zmiennej nie będącej atrybutem klasy działa bez problemu? jak sobie z tym poradzić ponieważ chciałem z tego korzystać później w sposób
  1. <?php
  2. Connect::$dbType;
  3. ?>

pzdr
Crozin
W PHP możesz odrazu zdefiniować wartości pól klasy, ale jedynie danymi dostępnymi już w czasie "kompilacji", czyli w grę w chodzą jedynie typy primitywne (string, int, float, array) i stałe.

Rozwiązanie:
  1. <?php
  2. class Connect{
  3.  public static
  4.    $dbType = null;
  5.  
  6.  public static function getDbType(){
  7.    if(self::$dbType === null){
  8.      self::$dbType = Config::getInstance()->getProperty("dbType")
  9.    }
  10.  
  11.    return self::$dbType;
  12.  }
  13. }
  14.  
  15. Connect::getDbType();
  16. ?>
tomek_swat
ok dzięki wielkie, sam bym to tego nie doszedł
pzdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.