⊗ppOpMgSP 91 of 107 menu

Kuandika Sifa kwa kutumia uchawi katika OOP katika PHP

Mbinu ya kichawi __set inaitwa wakati wa kujaribu kubadilisha thamani ya sifa isiyopo au iliyofichwa. Kama vigezo inakubali jina la sifa na thamani, ambayo inajaribu kupewa.

Tuangalie kwa mfano wa vitendo. Acha tuwe na darasa Test kama hili:

<?php class Test { private $prop1; private $prop2; } ?>

Wacha tufanye mbinu ya kichawi __set katika darasa hili, ambayo kwa kutumia kitendakazi var_dump itatoa jina la sifa, ambayo imeingiliwa, na thamani, ambayo inajaribu kuweka kwa sifa hiyo:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { var_dump($property . ' ' .$value); } } ?>

Tuangalie utendaji wa darasa letu:

<?php $test = new Test; $test->prop = 'value'; // var_dump ya mbinu __set itatoa 'prop value' ?>

Sasa tuweke thamani kwa sifa, jina lake limehifadhiwa kwenye kigeuzi $property:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; // tunaweka thamani } } ?>

Sasa tunaweza kuandika kwenye sifa za kibinafsi ngeni ya darasa:

<?php $test = new Test; $test->prop1 = 1; // tunaandika 1 $test->prop2 = 2; // tunaandika 2 ?>

Tunaweza kuandika, hata hivyo, kuangalia, imeandikwa kitu huko - hapana, kwa sababu sifa ni za kibinafsi.

Inawezekana kufanya kitafuta (getter) kwa sifa hizi au kutumia tu mbinu ya kichawi __get. Tutumie chaguo la pili:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; } // Kitafuta sifa kichawi: public function __get($property) { return $this->$property; } } ?>

Sasa tunaweza kuangalia utendaji wa darasa letu. Tuangalie:

<?php $test = new Test; $test->prop1 = 1; // tunaandika 1 $test->prop2 = 2; // tunaandika 2 echo $test->prop1; // itatoa 1 echo $test->prop2; // itatoa 2 ?>

Kwa kweli, bila shaka, haifai kuruhusu kila mtu aandike kwenye sifa za kibinafsi, vinginevyo maana ya sifa hizi za kibinafsi inapotea (ni rahisi kuzifanya za umma na kila kitu).

Kwa hivyo mbinu hii inapaswa kutumiwa tu wakati kuna hitaji la kweli. Katika masomo yafuatayo tutaangalia mifano ya matumizi mazuri zaidi.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa