Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wywołanie metody nie statycznej z statycznej
k4wo
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.01.2013

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


Witaj,

mam takie banalne pytanie, jak poprawnie wywołać metodę niestatyczną ze środka metody statycznej, która jest w innej klasie? Przy tym nie chcę w tej metodzie tworzyć egzemplarza klasy.

  1. protected static $database;
  2.  
  3. public function __construct() {
  4. // chciałbym, aby ten uchwyt był dostępny dla wszystkich metod z tej klasy
  5. self::$database = new DB();
  6. }
  7.  
  8. public static function metoda( ) {
  9.  
  10. $query = self::$database->metoda_w_innej_klasie( );
  11. }


Powyższy kod, wypluwa mi następujący błąd:
Cytat
Fatal error: Call to a member function metoda_w_innej_klasie() on a non-object in


I moje pomysły się skończyły. Pomożesz? :-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Jeżeli klasa databaseManager nie będzie singletonem to za chwilę zacznie się pierdyliard połączeń z bazą co zaowocuje spadkiem wydajności.

Tak jak kolega wyżej napisał zaimplementuj DBHandlera jako singleton i będziesz miał np;

  1. $db = DBHandler::getInstance()

Też będziesz miał dost. z każdej metody i klasy.
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: 14.10.2025 - 23:15