Page 1 sur 1

Comprendre cette fonction PHP.

Posté : 10 janv. 2019, 19:56
par Max2000
Bonjour,

Ayant des connaissances parcellaires en PHP, qui plus est éternel débutant, j'aimerai comprendre cette fonction PHP que je découvre dans un ensemble de script concernant un jeu :
function test()
{
	empty($this->error) or trigger_error(_MD_JEU_ERROR, E_USER_ERROR);
	return $this->test;
}
D'abord serait il possible de m'expliquer en détail cette ligne que voici:
empty($this->error) or trigger_error(_MD_JEU_ERROR, E_USER_ERROR);
Merci d'avance.
Respectueusement.
:)

Re: Comprendre cette fonction PHP.

Posté : 11 janv. 2019, 00:35
par @rthur
Bonjour,

En gros cette ligne dit :
- exécute la fonction empty(...)
- si ça échoue (càd que ça renvoie false), alors exécute la fonction trigger_error()

Il s'agit d'une syntaxe simplifiée qui du coup n'est pas très lisible.
L'équivalent complet serait celui-ci :
if (empty($this->error) === false) {
     trigger_error(_MD_JEU_ERROR, E_USER_ERROR);
}
Après si tu lis la doc des 2 fonctions utilisées, c'est assez simple :
http://php.net/empty : Vérifie si une variable est vide
http://php.net/trigger_error : déclenche une erreur (qui est gérée ailleurs dans le code) avec en message ce qu'il y a dans le 1er paramètre qui est une variable dans ton cas probablement définit ailleurs dans le code ; et le 2ème paramètre indique juste le type d'erreur : http://php.net/manual/fr/errorfunc.constants.php

Re: Comprendre cette fonction PHP.

Posté : 11 janv. 2019, 11:47
par Max2000
Bonjour,
Merci pour tes explications,

Si la condition envoie false, c'est que ($this->error) est déterminé par celle ci comme étant vide ou n' existant pas?
Que signifie exactement ce symbole -> situé entre $this et error?
S'agirait il d'une liaison entre la variable $this et error ? Si oui en quoi consisterait cette liaison?

Re: Comprendre cette fonction PHP.

Posté : 11 janv. 2019, 15:30
par @rthur
C'est de la programmation orientée objet.
Je te laisse regarder sur wikipedia car leur explication sera + claire que la mienne probablement :)

Re: Comprendre cette fonction PHP.

Posté : 12 janv. 2019, 16:43
par Max2000
Et pour:
 trigger_error(_MD_JEU_ERROR, E_USER_ERROR);
Que signifierait les "_" (_MD_JEU_ERROR, E_USER_ERROR) ?

Re: Comprendre cette fonction PHP.

Posté : 12 janv. 2019, 16:51
par @rthur
Absolument rien, c'est comme ça que le développeur a nommé ses variables

Re: Comprendre cette fonction PHP.

Posté : 13 janv. 2019, 13:08
par Max2000
Oui alors cela sert de séparation entre les mots pour que les variables désignées est d'avantage de clarté ou signification j'imagine.

Re: Comprendre cette fonction PHP.

Posté : 14 janv. 2019, 11:30
par Spols
En effet, et par convention l'utilisation de majuscule indique qu'il s'agit d'une constante. et le _ en premier lieu qu'il s'agit d'une constante créer par le developpeur et non pas une constante défini dans PHP. mais ce sont des conventions, rien n'oblige de les suivre.

Re: Comprendre cette fonction PHP.

Posté : 14 janv. 2019, 11:36
par Max2000
Ha ok.Merci.
Je ne le savais pas bien sûr.
Je tâcherai de m'en souvenir.
Et pendant que nous y sommes sur les constates, elles se créent comme des variables?

Re: Comprendre cette fonction PHP.

Posté : 14 janv. 2019, 12:24
par @rthur
Et pendant que nous y sommes sur les constates, elles se créent comme des variables?
Avec la fonction define :
http://php.net/define

Re: Comprendre cette fonction PHP.

Posté : 14 janv. 2019, 12:31
par Max2000
Ok merci.
En même temps avec vos explications sur cette fonctions, j'obtiens des réponses autres que celles que j'attendais.
Comme par exemple sur les constantes que j'ai déjà rencontré sans les connaître.
Merci encore.
La question est résolue dans son ensemble.