Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][class]Mieszanie klas, łączenie między sobą
szmerak
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


  1. <?
  2. class Lang {
  3. private $lang;
  4. function __construct()
  5. {
  6. $this->lang = "pl-lang";
  7. }
  8. public function GetLangs($lg)
  9. {
  10. include 'languages/'.$lg.'.php';
  11. $this->lang = $lg;
  12. return $lang;
  13. }
  14. public function GetLang($k)
  15. {
  16. $lang = $this->GetLangs($this->lang);
  17. foreach($lang as $key => $value)
  18. {
  19. if($k == $key)
  20. {
  21. $result = $value;
  22. }
  23. }
  24. return $result;
  25. }
  26. }
  27. ?>


Mam tutaj klasę której będę używać do pobierania langów itp... Lecz z tym rodzi się mały problem.
Ponieważ tych klas jest parę i nie wiem jak stworzyć komunikację między nimi...

Pamiętam że gdzieś o tym czytałem jakoś na "i" się to nazywało ale nie umiem sobie za nic przypomnieć.

A teraz przejdę do rzeczy...
Mam tą klasę wyżej i teraz będą jeszcze dwie.

  1. class Template {
  2. public function DBCriticalError($key)
  3. {
  4. $lang = Lang::GetLang($key);
  5. echo $lang;
  6. }
  7. }


I potem w klasie DB chciał bym wywołać funkcję Template::DBCriticalError("DB_ERROR");
i aby ta pobrała Lang i go wyświetliła. Lecz wyskakuje że undefined function ;/ a dokładniej to:

  1. Fatal error: Call to undefined method DB::GetLangs() in D:\Program Files\WebServ\httpd\nowa\classes\lang.class.php on line 16


Proszę o pomoc głównie tylko o metodę "tworzenia połączenia między klasami"

Ten post edytował szmerak 3.08.2011, 01:11:02
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: 23.12.2025 - 00:08