Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: małpa przed nazwą wywoływanej funkcji
Forum PHP.pl > Forum > PHP
php programmer
Często jak przeglądam kody innych ludzi widzę małpę przed nazwą
wywoływanej fukcji. Po co się tak robi?
Jaka jest rożnica między wywołaniem np.

mail($adres,$tytul,$tresc);
a
@mail($adres,$tytul,$tresc)
questionmark.gif?
revyag
Różnica jest taka że jeśli funkcja zwróci błąd to nie zostanie on pokazany, jeśli ma @ na początku.
SongoQ
Dodam tylko ze @ gasi bledy i nie pokazuja sie w przegladarce, lecz zawsze jest mozliwosc przechwycenia bledu.
bendi
  1. <?
  2.  
  3. error_reporting( E_ALL );
  4. //wyświetli notice
  5. echo $bla;
  6.  
  7. //to samo tutaj:
  8. $bla['bla'] = 'bla';
  9.  
  10. //nie wyswietli notice
  11. echo @$bla;
  12.  
  13. ?>


Osobiście uważam że dodawanie małpy czy też ustawianie error_reporting na 0 lub usuwanie notice'ów (E_ALL^NOTICE to praktyki niepoprawne, gdyż E_ALL jest bardzo przydatne przy debugu skryptów, więc zazwyczaj robie:

  1. <?
  2.  
  3. error_reporting( E_ALL );
  4. if( !isset( $bla ) ) {
  5. $bla = array();
  6. }
  7. $bla['bla'] = 'bla';
  8.  
  9. print_r( $bla );
  10.  
  11. ?>


Jeżeli ktoś potrzebuje sprawdzenia ustawienia zmiennej i jej pustości (czyli 0 lub '' lub false), to można skorzystać z empty" title="Zobacz w manualu PHP" target="_manual


  1. <?
  2.  
  3. error_reporting( E_ALL );
  4. if( empty( $bla ) ) {
  5. //dane nie zostaly przeslane albo ktos wchodzii pierwszy raz na strone i trzeba go
  6. przekierowac na strone wczesniejsza
  7. }
  8. $bla['bla'] = 'bla';
  9.  
  10. print_r( $bla );
  11.  
  12. ?>
SongoQ
@bendi Czlowiek nie potrafi wszystkiego przewidziec i sam wiesz ze zawsze moze wystapic blad o ktyrym nawet nie pomyslales lub zapominales.
bendi
Cytat(SongoQ @ 2005-06-29 11:08:58)
@bendi Czlowiek nie potrafi wszystkiego przewidziec i sam wiesz ze zawsze moze wystapic blad o ktyrym nawet nie pomyslales lub zapominales.

No dobra dobra przyznaje, ale chciałem uniknąć standardowej odpowiedzi jakiegoś "super programisty" typu
Cytat
Po prostu chciałem przedstawić do czego to służy tak coby faktycznie ludzie naprawdę świadomie korzsytali z udogodnień niepokazywania błędów.
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.