Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kłopot z skryptem (błąd początkującego)
kszymon0
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.12.2008

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


Witam,

Męczę się od rana z błędem: Fatal error: Using $this when not in object context in C:\Users\tkuchnia\Desktop\Projekty PHP\CMS\kernel\class\class.session.php on line 13

kod pliku class.session.php:
  1. <?php
  2.  
  3. class Session {
  4.  
  5. public $id;
  6. public $user;
  7. public $pass;
  8. public $session_is;
  9. public $time;
  10.  
  11. public function startSession() {
  12.  
  13. if ($this->session_is == 0 ) {
  14.  
  15. $this->time = time();
  16. }
  17. $this->session_is = 1;
  18. $this->getTimeDestroy();
  19.  
  20. echo time() .'<br><br>' . $this->time;
  21. }
  22.  
  23. public function getTimeDestroy() {
  24. if(time() < ($this->time + 600)) {
  25. $this->session_is = 0;
  26. }
  27. }
  28.  
  29. public function setUserData($id, $user, $pass) {
  30. $_SESSION['id'] = $id;
  31. $_SESSION['user'] = $user;
  32. $_SESSION['pass'] = $pass;
  33. }
  34.  
  35. public function closeSession() {
  36. $this->session_is = 0;
  37. }
  38.  
  39. public function getSession_is() {
  40.  
  41.  
  42. }
  43.  
  44.  
  45. }
  46.  
  47.  
  48. ?>

Jak pozbyć się tego błędu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cim
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

jeżeli odwołujesz się do $this to musisz to robić w oparciu o instancje tej klasy i wtedy nazwa metody poprzedzona '->' ($instancjaKlasy->metoda(); ). A jeżeli wywołujesz metodę statycznie (klasa::metoda(); ) to w jej treści zamiast '$this' stosujesz 'self::zmienna'. No i metodę deklarujesz jako statyczną, bo teraz masz zwykłą metodę z deklaracji i treści a odwołujesz się jak do statycznej.

Pozdrawiam
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: 11.10.2025 - 11:46