⊗ppOpAdPBR 23 of 107 menu

PHP-тегі ООП-де нысандарды сілтеме бойынша беру

Бізде мынадай User класы бар делік:

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

Осы кластың нысанын жасаймыз делік:

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

Енді келесі жағдайды елестетіңіз: сіз $user айнымалысының мәнін басқа бір айнымалыға, мысалы $test-ке тағайындағыңыз келеді.

Егер біз нысандар туралы емес, примитивтер туралы айтсақ, яғни жолдар, сандар, массивтер және т.б. туралы, онда $test айнымалысына $user айнымалысының мәнінің көшірмесі енер еді.

Бұл дегеніміз, кейін кез келген айнымалыны өзгерту екінші айнымалының мәнін өзгертпейтінін білдіреді. Мысалға қарайық:

<?php $user = 1; $test = $user; // $test айнымалысында енді 1 бар $test = 2; // $test айнымалысында енді 2 бар, ал $user-де әлі де 1 бар ?>

Нысандармен басқаша - басқа айнымалыға жазған кезде нысандар көшірілмейді, олар сілтеме бойынша беріледі: бұл дегеніміз, бұл екі айнымалының да мәні бір ұшын нысан болады. Бұл маңызды салдарға ие: егер нысанның кейбір қасиеттерін бір айнымалы арқылы өзгертсек, екінші айнымалыда дәл осы өзгерістер пайда болады.

Тәжірибеде көрейік. Пайдаланушымен нысан жасайық:

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

Нысанды басқа айнымалыға тағайындайық:

<?php $test = $user; ?>

$test айнымалысындағы name қасиетін өзгертіңіз

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

Ортақ нысанның өзгергенін тексерейік. $user айнымалысынан name қасиетін шығарайық:

<?php echo $user->name; // 'eric' шығарады! ?>

Product класын жасаңыз, онда келесі қасиеттер болады: name, price.

Product класының нысанын жасаңыз, оны $product1 айнымалысына жазыңыз.

$product1 айнымалысының мәнін $product2 айнымалысына тағайындаңыз. Екі айнымалының да бір нысанға сілтеме жасайтынын тексеріңіз.

Қазақ
AfrikaansAzə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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау