⊗ppOpMgGP 88 of 107 menu

Marrja e Vetive përmes Magjisë në OOP në PHP

Metoda tjetër magjike që do të shqyrtojmë, quhet __get. Ky metodë aktivizohet kur përpiqemi të lexojmë vlerën e një vetie private ose të mbrojtur.

Nëse implementohet metoda __get në ndonjë klasë, atëherë të gjitha përpjektjet për të hyrë në veti që nuk ekzistojnë ose të fshehura do të trajtohen nga kjo metodë.

Në këtë rast PHP automatikisht do të transmetojë emrin e vetisë së kërkuar në parametrin e parë të kësaj metode, dhe vlera e kthyer nga kjo metodë do të perceptohet si vlera e vetisë me të cilën është kryer hyrja.

Me shumë gjasa ende nuk është shumë e qartë, si funksionon kjo, prandaj le të shohim një shembull praktik. Le të themi se kemi këtë klasë Test me një veti private dhe një publik:

<?php class Test { public $prop1 = 1; // veti publike private $prop2 = 2; // veti private } ?>

Le të shtojmë në klasën tonë metodën magjike __get, e cila për fillim thjesht do të kthejë emrin e vetisë me të cilën është kryer hyrja:

<?php class Test { public $prop1 = 1; private $prop2 = 2; public function __get($property) { return $property; // thjesht kthejmë emrin e vetisë } } ?>

Le të testojmë funksionimin e metodës magjike të krijuar. Le të përdorim tre lloje vetish: një veti publike, një private dhe një që nuk ekziston:

<?php $test = new Test; // Përdorim te vetia publike: echo $test->prop1; // do të shfaq 1 - pra vlerën e vetisë // Përdorim te vetia private: echo $test->prop2; // do të shfaq 'prop2' - emrin e vetisë // Përdorim te vetia që nuk ekziston: echo $test->prop3; // do të shfaq 'prop3' - emrin e vetisë ?>

Siç e shihni, metoda jonë magjike reagon në hyrjen në veti private dhe ato që nuk ekzistojnë, por injoron hyrjen në ato publike - ato funksionojnë ashtu siç funksiononin më parë.

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