Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa translation
1010
post
Post #1





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


Napisałem klasę służącą do obsługi wielu języków na stronie. Szczegóły na blogu:

http://www.kalny.pl/php-mysql/wielojezykowosc-na-stronie/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Puciek
post
Post #2


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Nie wiem, smiac sie czy plakac ? Jakby ktos wzial dao + orm, wrzucil do shakera i wcisnal "frappe"
Go to the top of the page
+Quote Post
kilas88
post
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 25
Dołączył: 27.01.2007

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


Kilka uwag, bo na więcej nie mam już dzisiaj sił (a można by pisać długo):

- nie stosujesz się do żadnych konwencji kodowania (część po polsku, część po angielsku, kod niejasny, zero komentarzy, etc),
- dlaczego mysql_, jak można mysqli_, pdo czy inne wynalazki?,
- kod kompletnie nie jest zabezpieczony, wiesz czym jest sql injection i jak się przed nim bronić?,
- dziedziczenie jest nadużywane w moim odczuciu,
- zmienne globalne to zło,
- to nie zadziała w nowszych wersjach interpretera php (poczytaj newsy ze świata php):
Kod
class database {
    public function database();
}
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Już sama przyjęta koncepcja jest błędna, tłumaczenie powinno być oparte o pliki językowe i język defaultowy, używanie tego jest proste:
  1. echo $this->translate('Some text in default language');
- porównaj to z Twoim rozwiązaniem.
Podstawą powinien być język angielski, który jest wykorzystywany do utworzenia plików ANG-PL, ANG-CZ i tak dalej. Jak wyobrażasz sobie teraz np. przetłumaczenie aplikacji na dodatkowy język wykorzystującej Twój mechanizm? Powinieneś mieć plik językowy, który dajesz tłumaczowi (razem z prostym edytorem) i tyle. Wybór języka ogranicza się do załadowania pliku językowego do aplikacji. I ile będzie tych zapytań do bazy u Ciebie? Sama jakość kodu to też oddzielna kwestia:
  1. global $ustawienia;
  2. if (!$connection = mysql_pconnect(
  3. $ustawienia['mysql']['host'],
  4. $ustawienia['mysql']['login'],
  5. $ustawienia['mysql']['haslo']
  6. )) die ("Nie udało się nawiązać połączenia z bazą!");
- kiepski kod strukturalny zamknięty w klamry. Używa się wyjątków albo chociaż jakiejś obsługi błędów, używanie die czy tworzenie metod do "echowania" htmlu jest charakterystyczne dla script kidies
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Klasa translation dziedziczy po database ? Obiekt powinien być przekazany do konstruktora.
Go to the top of the page
+Quote Post

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 - 22:57