Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Using $this when not in object context
Forum PHP.pl > Forum > PHP
ghost1511
Wywołanie funkcji getJezyk() wywołuje błąd
  1. Fatal error: Using $this when not in object context in D:\xampp\htdocs\zenex_pl\include\class\tables\class.operator.php on line 22


Poniżej kod klasy
  1. <?php
  2. class Operator implements IOperator{ // klasa oparta na wzorcu Singleton;
  3.  
  4. private static $oInstance=false;
  5. private $jezyk_ope;
  6.  
  7. public static function getInstance($login=false){
  8. if(!self::$oInstance)
  9. self::$oInstance=new Operator($login);
  10. return self::$oInstance;
  11. }
  12.  
  13. private final function __construct($login){
  14.  
  15. if(!$login){ // uzytkownik niezalogowany
  16. $this->jezyk_ope=new Jezyk(Config::DEF_LANG_ID);
  17. }
  18.  
  19. }
  20.  
  21. public function getJezyk(){
  22. return $this->jezyk_ope->getId();
  23. //return Operator::getInstance()->jezyk_ope->getId();
  24. }
  25.  
  26. }
  27. ?>


Linia 22 wywołuje błąd. Linia wykomentowana 23 działa poprawnie, jednak sposób ten wydaje mi się mało elegancki. W jaki sposób odwoływać się do obiektu, aby nie wywoływać tego błędu ?
nospor
A czy ty przypadkiem metody getJezyk() nie wywołujesz statycznie? Bo na 99% jestem przekonany, że tak właśnie robisz. A skoro coś wywołujesz statycznie to logiczne przecież, że to coś nie ma $this...
ghost1511
Faktycznie problemem było błędne wywołanie wink.gif Dziękuję za pomoc wink.gif
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.