<? class Lang { private $lang; function __construct() { $this->lang = "pl-lang"; } public function GetLangs($lg) { include 'languages/'.$lg.'.php'; $this->lang = $lg; return $lang; } public function GetLang($k) { $lang = $this->GetLangs($this->lang); foreach($lang as $key => $value) { if($k == $key) { $result = $value; } } return $result; } } ?>
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.
class Template { public function DBCriticalError($key) { $lang = Lang::GetLang($key); } }
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:
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"