Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> małpa przed nazwą wywoływanej funkcji
php programmer
post 29.06.2005, 08:53:26
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


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?

Ten post edytował php programmer 29.06.2005, 08:54:37
Go to the top of the page
+Quote Post
revyag
post 29.06.2005, 08:57:08
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Różnica jest taka że jeśli funkcja zwróci błąd to nie zostanie on pokazany, jeśli ma @ na początku.


--------------------
-------------

------
Go to the top of the page
+Quote Post
SongoQ
post 29.06.2005, 09:12:18
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Dodam tylko ze @ gasi bledy i nie pokazuja sie w przegladarce, lecz zawsze jest mozliwosc przechwycenia bledu.


--------------------
Go to the top of the page
+Quote Post
bendi
post 29.06.2005, 09:59:37
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


  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. ?>


--------------------
Go to the top of the page
+Quote Post
SongoQ
post 29.06.2005, 10:08:58
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@bendi Czlowiek nie potrafi wszystkiego przewidziec i sam wiesz ze zawsze moze wystapic blad o ktyrym nawet nie pomyslales lub zapominales.


--------------------
Go to the top of the page
+Quote Post
bendi
post 29.06.2005, 11:02:27
Post #6





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


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.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:54