Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wersje językowe, drobne zamieszanie
tomek_swat
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 3.04.2008

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


witam,
napisałem sobie klasę do obłsugi wersji językowej elementów statycznych
  1. <?php
  2.    define('DIR_LANG', DIR_MAIN.'lang/');
  3.    require_once('MyException.php');
  4.    
  5.    class Lang {
  6.        
  7.        public function __construct($language = "pl"){
  8.            $this->language=$language;
  9.            $this->getData();
  10.        }
  11.        
  12.        public function __get($id){
  13.            
  14.            if(!isset($this->data[$id])){
  15.                throw new MyException('Nie istniejąca dyrektywa: '.$id);
  16.            }
  17.            
  18.            echo $this->data[$id];
  19.            
  20.        }
  21.        
  22.        public function getData(){
  23.            
  24.            if(!file_exists(DIR_LANG.'lang_'.$this->language.'.php')){
  25.                throw new MyException('Brak języka: '.$this->language);
  26.            }
  27.            
  28.            $this->data = parse_ini_file(DIR_LANG.'lang_'.$this->language.'.php', true);
  29.            
  30.            
  31.                
  32.        }
  33.    }
  34. ?>

uruchamiam ją
  1. <?php
  2. $jezyk = new Lang(Config::getInstance()->getProperty("język"));
  3.    
  4.    $jezyk->start;
  5. ?>


problem polega jednak na tym, że nie bardzo mogę jej użyć to przechwytywania wyjątków
  1. <?php
  2. try {
  3.    
  4.    $jezyk = new Lang(Config::getInstance()->getProperty("język"));
  5.    
  6.    $jezyk->start;
  7.    
  8.    
  9. } catch (MyException $error){
  10.    echo $error;
  11. }
  12. ?>


w ogóle już w klasie Lang, mam w throw new MyException gdzie znajduję się tekst w jednym języku, moje pytanie brzmi jak sprytnie rozwiązać ten problem, tzn mieć przetłumaczone wyjątki?
pzdr
Go to the top of the page
+Quote Post

Posty w temacie
- tomek_swat   wersje językowe   11.10.2008, 11:06:22
- - zzeus   nadpisz w klasie MyException metode getMessage() a...   13.10.2008, 21:37:16


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:33