⊗ppOpAdPBR 23 of 107 menu

Oordra van voorwerpe volgens verwysing in OOP in PHP

Gestel ons het die volgende klas User:

<?php class User { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

Gestel ons skep 'n voorwerp van hierdie klas:

<?php $user = new User('john', 30); ?>

Stel jou nou die volgende situasie voor: jy wil die waarde van die veranderlike $user toewys aan 'n ander veranderlike, byvoorbeeld $test.

As dit nie oor voorwerpe gegaan het nie, maar oor primitiewe, dit wil sê stringe, getalle, skikkings, ens., sou 'n kopie van die waarde van veranderlike $user in die veranderlike $test geplaas word.

Dit beteken dat veranderinge aan enige van die veranderlikes daarna nie die waarde van die ander veranderlike sou verander nie. Kom ons kyk na 'n voorbeeld:

<?php $user = 1; $test = $user; // in veranderlike $test is nou 1 $test = 2; // in veranderlike $test is nou 2, maar in $user is steeds 1 ?>

Met voorwerpe is dit anders - wanneer hulle aan 'n ander veranderlike toegeken word, word voorwerpe nie gekopieer nie, maar oorgedra volgens verwysing: dit beteken dat albei hierdie veranderlikes een en dieselfde voorwerp as waarde het. Dit het 'n belangrike gevolg: as jy enige eienskappe van die voorwerp verander met behulp van een veranderlike, sal dieselfde veranderinge in die tweede veranderlike verskyn.

Kom ons kyk prakties. Skep 'n voorwerp met 'n gebruiker:

<?php $user = new User('john', 30); ?>

Ken die voorwerp toe aan 'n ander veranderlike:

<?php $test = $user; ?>

Verander die eienskap name in die veranderlike $test

<?php $test->name = 'eric'; ?>

Kom ons kyk of die gedeelde voorwerp verander het. Druk die eienskap name van die veranderlike $user:

<?php echo $user->name; // sal 'eric' druk! ?>

Maak 'n klas Product, waarin die volgende eienskappe sal wees: name, price.

Skep 'n voorwerp van die klas Product, skryf dit in die veranderlike $product1.

Ken die waarde van veranderlike $product1 toe aan die veranderlike $product2. Kontroleer dat albei veranderlikes na een en dieselfde voorwerp verwys.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp