Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 10.09.2007 Ostrzeżenie: (0%)
|
Właśnie piszę skrypt, który obsługuje wielojęzyczność.
Tłumaczenia trzymam w pliku ini. Do treści tłumaczenia odwołuję się przez obiekt:
Przy czym guestbook to nazwa modułu. Wszystko działa bezproblemowo jeśli wybrany przez użytkownika język istnieje. Dla przykładu: język systemowy to en, wszystkie moduły posiadają tłumaczenia po angielsku poza modułem guestbook. Teraz gdy odwołuję się do: nie wyświetla mi się nic. Chciałbym, aby przez wykrywanie błędu PHP (index undefined, czy jakoś tak) w takich przypadkach wyświetliło nazwę indeksu tablicy - IDENTYFIKATOR_TLUMACZENIA Zauważyłem, że np. w Drupalu używa się do tego funkcji, ale to by wpłynęło drastycznie na wydajność. Jest to możliwe? Macie jakieś pomysły rozwiązania tego w opisany przeze mnie sposób? Ten post edytował Endzio 11.01.2010, 18:39:53 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat Zauważyłem, że np. w Drupalu używa się do tego funkcji, ale to by wpłynęło drastycznie na wydajność. Dlaczego miałoby to wpłynąć drastycznie na wydajność?
|
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Przed wyświetleniem sprawdź najpierw czy odpowiedni indeks istnieje w tablicy poprzez isset lub array_key_exists.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 10.09.2007 Ostrzeżenie: (0%)
|
Dlaczego miałoby to wpłynąć drastycznie na wydajność? Wywołanie funkcji jest bardziej "zasobożerne" niż zmiennej, tym bardziej, że ta funkcja będzie wywoływana dziesiątki razy. Przed wyświetleniem sprawdź najpierw czy odpowiedni indeks istnieje w tablicy poprzez isset lub array_key_exists. Ale to wciąż nie to, zapis byłby uciążliwy.
Tak jest estetyczniej, wygodniej, prościej i wydajniej (IMG:style_emoticons/default/smile.gif) Ten post edytował Endzio 12.01.2010, 20:17:30 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat Wywołanie funkcji jest bardziej "zasobożerne" niż zmiennej, tym bardziej, że ta funkcja będzie wywoływana dziesiątki razy. A niech będzie i dziesiątki tysięcy razy... to czy to obciąży serwer czy nie nie zależy od ilości wywołań. A taka funkcja ograniczająca się do wykonania instrukcji warunkowej w żadnym stopniu nie wpłynie na wydajność.
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Cytat Tak jest estetyczniej, wygodniej, prościej i wydajniej A o ArrayAccess słyszałeś? (IMG:style_emoticons/default/snitch.gif) |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 10.09.2007 Ostrzeżenie: (0%)
|
A o ArrayAccess słyszałeś? (IMG:style_emoticons/default/snitch.gif) Wielkie dzięki! Działa dokładnie tak jak tego chciałem (IMG:style_emoticons/default/biggrin.gif) Cytat(Crozin) A niech będzie i dziesiątki tysięcy razy... to czy to obciąży serwer czy nie nie zależy od ilości wywołań. A taka funkcja ograniczająca się do wykonania instrukcji warunkowej w żadnym stopniu nie wpłynie na wydajność. Wydajność jest chyba najmniejszym z powodów wykorzystania przeze mnie tablic zamiast funkcji. Zapewne udział klas spowalnia bardziej skrypt niż by to robiły funkcje. Uparłem się tak przy tablicach ponieważ wygodniej wstawia się je do systemu szablonów. Pozdrawiam Ten post edytował Endzio 13.01.2010, 02:02:18 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 18:19 |