⊗ppOpMgSP 91 of 107 menu

Regjistrimi i Vetive përmes Magjisë në OOP në PHP

Metoda magjike __set thirret kur përpiqemi të ndryshojmë vlerën e një vetie që nuk ekziston ose është e fshehur. Si parametra ai pranon emrin e vetisë dhe vlerën që përpiqet t'i caktojë.

Le të shohim një shembull praktik. Le të themi se kemi klasën Test:

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

Le të krijojmë në këtë klasë metodën magjike __set, e cila me anë të funksionit var_dump do të shfaqë emrin e vetisë, me të cilën është bërë aksesi, dhe vlerën që përpiqet të caktohet për këtë veti:

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

Le të kontrollojmë funksionimin e klasës sonë:

<?php $test = new Test; $test->prop = 'value'; // var_dump i metodës __set do të shfaqë 'prop value' ?>

Le të fillojmë të caktojmë vlerën vetisë, emri i së cilës ruhet në variablin $property:

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

Tani do të jemi në gjendje të shkruajmë në vetitë private nga jashtë klasës:

<?php $test = new Test; $test->prop1 = 1; // do të shkruajmë 1 $test->prop2 = 2; // do të shkruajmë 2 ?>

Ne mund të shkruajmë, megjithatë, të kontrollojmë nëse diçka është shkruar atje - jo, pasi vetitë janë private.

Për këto veti mund të bëhet një getter ose thjesht të përdoret metoda magjike __get. Le të përdorim opsionin e dytë:

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

Tani mund të kontrollojmë funksionimin e klasës sonë. Le të kontrollojmë:

<?php $test = new Test; $test->prop1 = 1; // do të shkruajmë 1 $test->prop2 = 2; // do të shkruajmë 2 echo $test->prop1; // do të shfaqë 1 echo $test->prop2; // do të shfaqë 2 ?>

Në fakt, sigurisht, nuk duhet të lejohet që kushdo të shkruajë në vetitë private, përndryshe humbet thelbi i këtyre vetive private (është më lehtë t'i bësh ato publike dhe kaq).

Prandaj kjo metodë duhet të përdoret vetëm kur vërtet ekziston nevoja për të. Në mësimet në vijim do të shqyrtojmë shembuj të përdorimit të suksesshëm.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo