Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 2x return w funkcji
Forum PHP.pl > Forum > PHP
dadexix
Witam, dawno mnie tu nie było:) mam takie oto pytanie bardziej teoretyczne - jak coś takiego wykonać:)

mam plik w ktorym jest laczenie sie z baza, wybieranie itd. itd. wszysto co do bazy, ten plik includuje do pliku który obrabia wszystko itd itd a ten plik jest includowany przez index


więc jest coś takiego:

  1. index
  2.  
  3. <? 
  4. <!-- menu logo i inne badziewia tutaj -->
  5. if(empty($page) || $page == index ){ include "./inc/index.php"; } //nie mowcie ze to malo bezpieczne bo to skrocony przyklad)
  6. else{ include "./inc/".$page; }
  7.  
  8. <!--stopka i inne bajerki-->
  9.  
  10. ?>
  11.  
  12. ./inc/index.php
  13.  
  14. <?
  15. cos tam cos tam cos tam
  16.  
  17.  
  18.  $dobre = include('./db.inc.php');
  19.  
  20. if($dobre != 0){
  21. return;
  22. }
  23.  
  24.  
  25. obrabianie wynikow itd itd itd
  26.  
  27. ?>
  28.  
  29. db.inc.php
  30.  
  31. <?
  32.  
  33. rozne rzeczy zwiazne z baza np.
  34.  
  35. mysql_connect($config['db']['host'],$config['db']['user'],$config['db']['pass']) or return "wyczerpujacy opis, ok. 500znakow";
  36.  
  37.  
  38. cos tam cos tam cos tam cos tam 
  39.  
  40. na koncu pliku:
  41. $errors = 0;
  42. return $errors;
  43. ?>


i teraz troszke wytlumaczę.... załóżmy że w db.inc.php bedzie zle haslo do bazy albo coś takiego... wtedy jeśli bym dał "or exit( "wyczerpujacy opis, ok. 500znakow");" to by zakonczylo cały skrypt i ucielo wszystko co znajduje sie za bledem(stopke itd) więc daje "or return[..]" dzięki czemu w następnej funkcji(np. mysql_query) nie wywali błędu a skrypt się dalej będzie wykonywać tylko zakonczy wykonywanie includowanego pliku

ale powtarzac przy kazdej funkcji opis który jest długi troche nie wygodnie więc chciałem to wsadzić do funkcji np. blad ktora sprawi ze -- kazdy czytajacy mysli "po co tak jak mozna inaczej" - bo jestem uparty a chce się czegoś dowiedzieć na ten temat:) chce byście mnie do kształcili w temacie - w temacie funkcji return -- ale jeśli bym w funkcji dał return to funkcja sie zakonczy a skrypt includowany nie...

no i tlumaczę dalej... ./inc/index.php sprawdza czy wystapil blad w includowanym pliku jesli tak to przerywa też siebie;]


dziala to tak(jeśli wystąpi błąd)
db.inc.php zamyka samą siebie --> ./inc/index.php po wywaleniu errora zamyka siebie -->index.php się wysyla
gdy bym nie dał jak chce to by to wyglądało tak:

db.inc.php wywala blad nr. 1 potem nr 2 potem nr 3 itd. itd. co chwile dając taki sam error --> ./inc/index.php wywala errory bo db.inc.php coś miało mu "dać" --> index.php leci do przeglądarki






i tu wkoncu pytanie ktore juz raz zadałem w tym temacie jak w funkcji `y` wywolanej w pliku `x` includowanego przez `z` zakonczyc wywolywanie pliku `x` nie konczac wywolywania pliku `z`??


ufff takie krotkie pytanie a taki dlugi opis:P

Pozdrawiam:)
legorek
Jestem strasznie leniwym człowiekiem i nie przeczytałem całego posta, ale myślę, że powinien zainteresować Cię temat wyjątków (http://pl.php.net/manual/pl/language.exceptions.php).

P.S Twój kod to masakra. Pogubisz się w nim szybciej niż myślisz.
dadexix
hmm no ok ale moj anglik nie jest za dobry, a google w tym temacie ma zaparowane szkła(szkła od googli) no więc mógł by ktoś w dwóch -trzech zdaniach opisać jak tego używać?


Cytat
P.S Twój kod to masakra. Pogubisz się w nim szybciej niż myślisz.
aaa tam, to był tylko przykład:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.