login  Naam:   Wachtwoord: 
Registreer je!
 Forum

@ voorkomt errors, gevolgen?

Offline Nrzonline - 14/07/2006 03:07 (laatste wijziging 14/07/2006 03:07)
Avatar van NrzonlinePHP ver gevorderde Hey SiMa lui,

Mij werdt onlangs verteld bij wat hulp over een function
dat een '@' errors voorkomt. Heeft dit ook gevolgen voor je
site zoals mogelijke beveiligings risico's of dat je site trager
wordt o.i.d?

Want ik heb bij een script dat ik input velden laat onthouden
m.b.v sessies. Dus geef ik vantevoren die sessies een lege
waarde, wat dus niet hoeft als ik echo @$_SESSION['var'] gebruik,
maar heeft dat dus geen gevolgen voor je site?

Bvd,
Edwin

5 antwoorden

Gesponsorde links
Offline b4nkr0bz0r - 14/07/2006 03:10
Avatar van b4nkr0bz0r PHP gevorderde Nou, als je dus ergens een fout wil onderdrukken, moet je je wel afvragen of het nodig is om dat te doen, PHP genereert niet door niets die error.

De error kan handige dingen zeggen, en bugs voorkomen. Ik zou trouwens niet weten waarom je een @ er voor zou zetten en de error willen onderdrukken, je moet gewoon netjes je code afhandelen...
Offline marten - 14/07/2006 06:10
Avatar van marten Beheerder Je kan , en is ook de enige mogelijkheid naar mijn mening, er een @ voor zetten als je de door php gegenereerde fout wilt onderdrukken om je eigen foutafhandeling te laten draaien
Offline Richard - 14/07/2006 08:09 (laatste wijziging 14/07/2006 08:10)
Avatar van Richard Crew algemeen Ik ben het eens met wat marten zegt.

Hierbij komt inderdaad zoals je zelf al vroeg, dat dit (iets) vertraagt. Het scheelt niet veel, maar als je bij alle functieaanroepen en variabelen etc. een @ zet... nou laat ik zeggen dat je server er niet blij van wordt...

Citaat:
Kijk hier:

Issue: @ operator is very slow
Offline Thomas - 14/07/2006 09:42 (laatste wijziging 14/07/2006 09:42)
Avatar van Thomas Moderator echo @$_SESSION['var']

Dat lijkt me een verkeerd gebruik van @. Dit lijkt sterk op een "luie manier" om te kijken of een sessie-variabele geset is en af te drukken, of niets te doen wanneer deze niet geset is, maar hiervoor is @ niet echt bedoeld.

Het is handig op het moment dat je, zoals marten zegt, je eigen error handling doet.

Bijvoorbeeld:
  1. $some_result = @mysql_query($my_query);
  2. if(mysql_error() != "")
  3. {
  4. // eigen error handling
  5. }


Ook kan het handig zijn als je bestanden verwijdert - dit is dan weer "lui", maar je gaat dan verder niets meer met het bestand doen, dus het maakt niet echt uit of deze bestond of niet (in tegenstelling tot sessie-variabelen, lijkt me):

  1. @unlink("/path/to/file/file.ext");
Offline Nrzonline - 14/07/2006 10:47
Avatar van Nrzonline PHP ver gevorderde Ok deze berichten zeggen genoeg volgensmij. Langazmer na veel
fouten, een luie manier van scripting dus gewoon netjes scripten..
Dan houd ik mijn script zoals hij was, aangezien het zo te merken
meer nadelen heeft dan goede nuttige voordelen =)

Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s