Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Który sposób lepszy, Który sposób przesyłania danych do OPT lepszy?
Albitos
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 4
Dołączył: 6.08.2006
Skąd: Lublin

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


Postanowiłem na swojej stronie skorzystać z systemu szablonów, aby oddzielić treść od logiki i ułatwić późniejsze modyfikcje. W zaiązku z tym mam takie pytanie, który sposób na przekazanie zmiennych do OPT i zwrócenie komunikatu jest lepszy.

Pierwsza propozycja:
Jakas funkcja wewnątrz klasy:
  1. <?php
  2. function checkUser($id)
  3. {
  4. if(!is_numeric($id)
  5. {
  6. return -2;
  7. }
  8.  
  9. $user = $db -> Execute('SELECT * FROM USERS WHERE `id`='.$id);
  10. if(!$user -> fields['id'])
  11. {
  12. return -1; // Tutaj rownie dobrze moze byc FALSE, albo 'N'
  13. }
  14. else
  15. {
  16. return $user -> fields;
  17. }
  18. }
  19. ?>


Plik php:
  1. <?php
  2. $result = $klasa -> checkUser($_GET['id']);
  3. $tpl -> assign('result', $result);
  4. ?>


No i wreszcie pliki opt:
  1. <?php
  2. {if $result > 0)
  3. Witaj {$result['login']}
  4. {elseif $result == -1}
  5. Nie ma takiego usera
  6. {else}
  7. Podałeś nieprawidłowe id.
  8. {/if}
  9. ?>


Druga propozycja:
Jakas funkcja klasy:
  1. <?php
  2. function checkUser($id)
  3. {
  4. if(!is_numeric($id))
  5. {
  6.  return 'Podales nieprawidzlowe ID';
  7. }
  8. $user = $db -> Execute('SELECT * FROM `users` WHERE `id`='.$id);
  9. if(!$user -> fields['id'])
  10. {
  11. return 'Nie ma takiego usera';
  12. }
  13. else
  14. {
  15. return 'Witaj '.$user -> fields;
  16. }
  17. }
  18. ?>


Plik php:
  1. <?php
  2. $result = checkUser($_GET['id']);
  3.  
  4. $tpl -> assign('result', $result -> fields['login']);
  5. ?>


No i .tpl
  1. <?php
  2. {$result}.
  3. ?>



Chodzi mi konkretnie o to, czy jest sens robienia warunkow (podczas pisania czegos bardziej skomplikowanego bardzo pomieszanych) w plikasz szablonow, skoro moge tam przekazac gotowy wynik do wyswietlenia... Co prada w tym przykladzie nie do konca jest jasne o co chodzi, ale np. przy rejestracji uzytkownikowi moze wyswietlic sie 5 roznych bledow (puste pole, powtorzony login, powtorzony mail, zle haslo itd.). Gdy przekazuje wyniki jako liczby (albo wartosci TRUE, FALSE, 'Y', 'N' etc.), w szablonach tworza sie bardzo skomplikowane warunki. A w koncu nie o to chodzi. Czy moge przekazywac gotowy tekst do szablonu i czy ma to sens? Caly skrypt pisalem od podstaw i ma sluzyc tylko za przyklad, wiec gdzies moze byc blad. Nie zwracajcie na to uwagi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .

Ten post edytował Albitos 16.08.2006, 04:26:34
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


NA pewno nie rob tego tak:
  1. <?php
  2. {if $result > 0)
  3. Witaj {$result['login']}
  4. {elseif $result == -1}
  5. Nie ma takiego usera
  6. {else}
  7. Podałeś nieprawidłowe id.
  8. {/if}
  9. ?>


Stworz tablice z komunikatami bledow, indeksowana kodami bledow, przekaz ja do OPT i pobierz z niej komun. na podst. kodu bledu.
Go to the top of the page
+Quote Post
Albitos
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 4
Dołączył: 6.08.2006
Skąd: Lublin

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


Moglbys mniej wiecej pokazac jak to mialoby wygladac? Musialbym wtedy do OPT dodac funkcje pobierajaca klucz z tablicy, czy tak?
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.08.2025 - 04:57