Maison  >  Article  >  développement back-end  >  Références PHP

Références PHP

WBOY
WBOYoriginal
2024-08-29 12:49:001083parcourir

Les références PHP sont les alias de la table de symboles au moyen desquels le contenu d'une variable peut être consulté sous différents noms. La variable référencée explicitement définie doit être précédée du symbole esperluette (&). La fonctionnalité des références PHP peut être expliquée en utilisant l’analogie du raccourci de Windows. Les références PHP peuvent être définies dans la programmation PHP de différentes manières.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Méthodes pour créer des références PHP

Les méthodes les plus utilisées pour créer des références PHP sont décrites ci-dessous :

1. Utiliser le mot-clé « global »

Dans la méthode, la référence peut être créée en utilisant le mot-clé « global » avant la variable référencée. Déclarer une référence en tant que variable globale ajoute la variable au tableau $GLOBAL et permet à l'utilisateur d'accéder à une variable globale dans le cadre de la fonction. Fondamentalement, il existe deux manières de définir une référence PHP en la déclarant comme variable globale, par exemple :

function Function_name() {
global $globalVar;
}
OR
function Function_name() {
$globalVar =& $GLOBALS["globalVar"];
}

Exemple

L'extrait de code ci-dessous est conçu pour démontrer la différence entre la valeur de la même variable par rapport à la portée locale et à la portée globale.

<?php
function functionname() {
$inputvar = "within function scope";
echo '$inputvar in global scope: ' . $GLOBALS["inputvar"] . "\n";
echo '$inputvar in current scope: ' . $inputvar . "\n";
}
$inputvar = "Outside function scope";
$othervar= $GLOBALS["inputvar"]; //Creating inputvar in GLOBAL array
functionname();
echo '$othervar : ' . $othervar . "\n";
?>

Sortie

Othervar est l'ensemble de référence pour la variable d'entrée du tableau GLOBAL. Il n'est pas lié à la variable inputvar définie dans la portée locale de la fonction.

Références PHP

2. Utiliser $cette variable

La variable '$this' est la référence par défaut à l'objet de la fonction, dont $this variable est référencée.

Exemple

Le code ci-dessous démontre l'utilisation de $this variable pour accéder à la valeur de n'importe quelle propriété de classe à partir de l'objet de classe choisi.

<?php
class Thisclass {
var $clsproperty = 300;
function classmethod() {
$this->clsproperty = 500; // $this is a reference to the object
}
}
$clsObject = new Thisclass();
$clsObject->classmethod();
echo "The displayed value is: ". $clsObject->clsproperty;
//display the value updated using $this property
?>

Sortie

La valeur de la propriété cls est affichée en fonction de la valeur définie à l'aide de $this variable.

Références PHP

3. Passer un objet

En programmation PHP, toute opération effectuée sur un objet de classe telle que assigner, retourner ou passer, etc; l'opération est toujours effectuée en référence à l'objet au lieu de sa copie.

La syntaxe standard pour créer une référence d'objet PHP est suivie comme ci-dessous :

class ClassName {
//Body of the class
}
$classObj1 = new ClassName ();
$classObj2= $classObj1;

Ici, l'objet classObj2 fait référence au même contenu contenu dans classObj1.

Exemple

L'extrait de code ci-dessous est conçu pour créer un objet de référence pour l'objet réel et accéder à ses propriétés.

<?php
class Costume {
// Declaring the class properties
public $name;
public $color;
// Declaring the class methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_color($color) {
$this->color = $color;
}
function get_color() {
return $this->color;
}
}
//Creating the object
$constume1 = new Costume();
$constume1->set_name('Superman');
$constume1->set_color('Blue and Red');
//Creating the object reference
$constume2=$constume1;
echo "Costume1 Name: " . $constume1->get_name();
echo "\n";
echo "Costume1 Color: " .  $constume1->get_color();
echo "\n";
echo "\n";
echo "Costume2 Name: " . $constume2->get_name();
echo "\n";
echo "Costume2 Color: " .  $constume2->get_color();
?>

Sortie

L'objet de référence Costume2 fait référence aux mêmes valeurs que celles contenues dans les propriétés nom et couleur de l'objet réel Costume1.

Références PHP

Différentes opérations de programmation PHP

En programmation PHP différentes opérations sont réalisées avec des références PHP. Certaines des opérations majeures sont abordées dans la session ci-dessous :

1. En passant par référence

Afin de permettre à une fonction de modifier une variable définie hors de sa portée, la valeur doit être transmise à la fonction par sa référence.

Exemple

L'extrait de code ci-dessous modifie la valeur de la variable définie hors de la portée de la fonction appelée en utilisant la référence à la variable.

<?php
function Afunction(&$input) //passing the input argument by reference
{
$input*=10;
}
$outVar=5;
echo "Before the function is called: ".$outVar;
echo "\n";
Afunction($outVar);
echo "After the function is called: ".$outVar;
?>

Sortie

La valeur de la variable outvar est modifiée par la fonction AFunction().

Références PHP

2. Références de retour

Cette opération permet à la fonction appelante de connaître la variable à laquelle la référence doit être liée. Il est recommandé de l'utiliser uniquement s'il existe des exigences techniques, sinon cela n'ajoute rien aux performances du programme.

Exemple

L'extrait de code ci-dessous est conçu pour transmettre la valeur de retour d'une fonction parent de fonction comme référence à la classe parent de classe définie.

<?php
class parentclass {
public $parentvar = "I am set at parent class";
public function &parentfunction()
{
return $this->parentvar;
}
}
$parentobj = new parentclass;
$newvar = &$parentobj->parentfunction();
echo $newvar;
echo "\n";
$parentobj->parentvar= "I am set outside of the class";
echo $newvar;
?>

Sortie

Références PHP

3. Désactivation de la référence PHP

L'utilisateur peut rompre la liaison entre la variable et la référence en utilisant la méthode unset().

Exemple

L'extrait de code ci-dessous démontre l'utilisation de la méthode unset() pour dissocier la variable référencée firstinput de secondinput.

<?php
$firstinput = "I am first input";
$secondinput =& $firstinput;
echo "First input: ". $firstinput;
echo"\n";
echo "Second input: " . $secondinput;
unset($firstinput);
echo"\n";
echo"\n";
echo "After unsetting the reference: ";
echo"\n";
$firstinput = "I am set to second input";
echo"\n";
echo "First input: ". $firstinput;
echo"\n";
echo "Second input: " . $secondinput;
?>

Sortie

Références PHP

Conclusion

Les références PHP sont une fonctionnalité importante incorporée dans les scripts PHP. Les références PHP ne sont pas des pointeurs comme cela peut être décrit pour « C » qui occupent également de la mémoire pour créer un élément en double. Les références PHP sont simplement des alias différents pour faire référence au contenu de la variable réelle. Si la copie d'un objet est requise pour un objet en PHP, cela peut être fait avec le mot-clé « clone ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP gettype()Article suivant:PHP gettype()