Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Inne zastosowanie "Notice: Undefined index"
Endzio
post
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:
  1. $lang->guestbook['IDENTYFIKATOR_TLUMACZENIA']

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:
  1. $lang->guestbook['IDENTYFIKATOR_TLUMACZENIA']
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Endzio
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 10.09.2007

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


Cytat(Crozin @ 12.01.2010, 01:40:33 ) *
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.


Cytat(phpion @ 12.01.2010, 12:15:42 ) *
Przed wyświetleniem sprawdź najpierw czy odpowiedni indeks istnieje w tablicy poprzez isset lub array_key_exists.


  1. isset($lang->guestbook['JAKIS_INDEKS']) ? $lang->guestbook['JAKIS_INDEKS'] : 'JAKIS_INDEKS'

Ale to wciąż nie to, zapis byłby uciążliwy.

  1. $lang->guestbook['JAKIS_INDEKS']

Tak jest estetyczniej, wygodniej, prościej i wydajniej (IMG:style_emoticons/default/smile.gif)



Ten post edytował Endzio 12.01.2010, 20:17:30
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: 12.10.2025 - 15:38