2013-08-01 8 views
1

J'apprends l'orienté objet php. J'ai rencontré un code que je ne comprends pas complètement. Ce code fait partie d'une classe.Quand utiliser @, et différentes façons de déclarer des variables?

1) code qui utilise @. Par exemple:

$this->image = @imagecreatefromgif($filename); 

quelqu'un peut-il expliquer les utilisations de @.

2) Il semble également que le script déclare des variables d'une manière à laquelle je ne suis pas habitué (la méthode $ var).

Par exemple:

$this->ext = $size['mime']; 

ext $ n'est pas déclaré avant que ce code est utilisé, mais utilisé après. Est-ce que cela crée une variable $ ext dans l'objet?

Merci les gars !!

+7

Quand utiliser ['@'] (http://php.net/manual/fr/language.operators.errorcontrol.php)? Jamais. Tout ce qui repose sur '@' pour ignorer silencieusement les erreurs et les avertissements est très probablement mal conçu. – rid

+1

Essayez de ne pas poser des questions sans rapport dans le même post, il confond les choses. Pour la deuxième question, voir http://stackoverflow.com/questions/10042736/class-works-without-declaring-variables?rq=1 – Barmar

+0

Barmar à la rescousse à nouveau. Merci! – seamus

Répondre

0

@ moyens "lors de l'appel supprimer l'avertissement de cette fonction".

1

@ est l'opérateur de suppression d'erreur de php vous ne devez jamais utiliser

Vous devriez gérer l'erreur au lieu d'ignorer et de l'avantage serait que vous obtiendrez longtemps avis qui est utile pour déboguer trop

Et pire des cas serait inférieure comme décrit dans manual

Actuellement, le préfixe d'opérateur de contrôle d'erreur "@" va même désactiver le rapport d'erreurs pour les erreurs critiques qui mettront fin à l'exécution du script. Entre autres choses, cela signifie que si vous utilisez "@" pour supprimer les erreurs d'une certaine fonction et si elle n'est pas disponible ou a été mal orthographiée, le script mourra là sans indication de pourquoi.

+1

+1 pour décourager l'utilisation de cet opérateur. – Bart

+0

@Bart Thankyou, @ opérateur est toujours fait problème si nous ne savons pas comment utiliser correctement et mieux ne pas utiliser –

Questions connexes