Maison  >  Questions et réponses  >  le corps du texte

Comment accéder aux propriétés dans PHP ?

<p>Suivi basé sur ce document : https://www.php.net/manual/en/lingual.oop5.references.php</p> <blockquote> <p>Un point clé de la programmation orientée objet PHP qui est souvent mentionné est que "les objets sont passés par référence par défaut". Ce n'est pas tout à fait exact. </p> </blockquote> <blockquote> <p>En PHP, les variables d'objet ne contiennent pas l'objet lui-même comme valeur. Il contient simplement un identifiant d'objet qui permet aux accesseurs d'objet de trouver l'objet réel. </p> </blockquote> <p>Comment cela fonctionne-t-il concrètement ? Par exemple, en C++, l'opérateur flèche semble implicitement déréférencer le pointeur puis accéder à la propriété comme si elle était accessible sur la variable objet elle-même. </p> <p>Voici comment je le comprends :</p> <pre class="brush:php;toolbar:false;">obj->prop (*obj).prop // Équivalent à la ligne ci-dessus</pre> <p>Cela a l’air très soigné. Dans les deux cas, l'appel de propriété est la somme de l'adresse de la variable objet et du décalage de la propriété. </p> <p>Mais comment ça marche en PHP ? La documentation suggère qu'un pointeur ne stocke pas une adresse mémoire, mais un « identifiant d'objet ». L'accès aux propriétés en PHP est-il un processus hautement abstrait, ou résout-il l'identifiant de l'objet en une adresse mémoire, puis y accède-t-il de la même manière que C++/Java, etc. ? </p>
P粉518799557P粉518799557382 Il y a quelques jours492

répondre à tous(1)je répondrai

  • P粉600845163

    P粉6008451632023-09-06 11:33:11

    Il s'agit d'un processus hautement abstrait, et la similitude de syntaxe ne signifie pas que le code « tombera » dans un fonctionnement comme C/C++. Vous pouvez explorer le code pour voir comment il fonctionne sous le capot.

    répondre
    0
  • Annulerrépondre