Question a propos d'une fonction
playboy-1990
Messages postés
593
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai deux questions à propos d'une fonction reprise de wordpress
1) Je me demande à quoi sert les &
dans le non de la fonction, son paramètre, avant la déclaration d'une variable etc.
2) Je me demande à quoi sert le global à la deuxième ligne de la fonction
je connaissais la variable $GLOBALS mais pas global
Merci d'avance
J'ai deux questions à propos d'une fonction reprise de wordpress
1) Je me demande à quoi sert les &
dans le non de la fonction, son paramètre, avant la déclaration d'une variable etc.
2) Je me demande à quoi sert le global à la deuxième ligne de la fonction
je connaissais la variable $GLOBALS mais pas global
function &get_comment(&$comment, $output = OBJECT) {
global $wpdb;
$null = null;
if ( empty($comment) ) {
if ( isset($GLOBALS['comment']) )
$_comment = & $GLOBALS['comment'];
else
$_comment = null;
} elseif ( is_object($comment) ) {
wp_cache_add($comment->comment_ID, $comment, 'comment');
$_comment = $comment;
} else {
if ( isset($GLOBALS['comment']) && ($GLOBALS['comment']->comment_ID == $comment) ) {
$_comment = & $GLOBALS['comment'];
} elseif ( ! $_comment = wp_cache_get($comment, 'comment') ) {
$_comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment));
if ( ! $_comment )
return $null;
wp_cache_add($_comment->comment_ID, $_comment, 'comment');
}
}
Merci d'avance
2 réponses
-
Bonjour,
1 - un nom de fonction peut comporter des lettres, des chiffres et les caractères _ et & (les espaces ne sont pas autorisés!)
2 - Une variable précédée du mot clé global sera visible dans l'ensemble du code, c'est-à-dire que sa portée ne sera pas limitée à la fonction seulement. Ainsi, toutes les fonctions pourront utiliser et modifier cette même variable
cf : https://www.commentcamarche.net/contents/792-php-les-fonctions -
Salut.
Les "et" commercials permettent de passer des références.
Celles-ci permettent d'accèder à la variable d'origine au lieu de créer une copie interne au bloc.
Pour le mot-clé "global", il permet d'accèder à une variable externe au bloc actuel.
Voici un exemple :#!/usr/bin/php <?php $nombre = 5; function incrementer($nombre) { $nombre += 1; } function incrementer_deux(&$nombre) { $nombre += 2; } function incrementer_trois() { global $nombre; $nombre += 3; } function afficherNombre() { global $nombre; echo 'Valeur du nombre : '.$nombre."\n"; } afficherNombre(); // Valeur du nombre : 5 incrementer($nombre); afficherNombre(); // Valeur du nombre : 5 incrementer_deux($nombre); afficherNombre(); // Valeur du nombre : 7 incrementer_trois(); afficherNombre(); // Valeur du nombre : 10 ?>