⊗ppOpMgSP 91 of 107 menu

Հատկությունների գրառում կախարդանքի միջոցով OOP-ում PHP-ում

__set կախարդական մեթոդը կանչվում է, երբ փորձում են փոխել գոյություն չունեցող կամ թաքնված հատկության արժեքը: Որպես պարամետրեր այն ընդունում է հատկության անունը և այն արժեքը, որին փորձում են վերագրել այն:

Եկեք նայենք գործնական օրինակով: Ենթադրենք մենք ունենք հետևյալ Test դասը:

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

Եկեք այս դասում ստեղծենք __set կախարդական մեթոդը, որը var_dump ֆունկցիայի միջոցով կարտածի այն հատկության անունը, որին դիմել են, և արժեքը, որը փորձում են սահմանել այդ հատկությանը.

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

Ստուգենք մեր դասի աշխատանքը.

<?php $test = new Test; $test->prop = 'value'; // __set մեթոդի var_dump-ը կարտածի 'prop value' ?>

Եկեք այժմ սահմանենք արժեք այն հատկությանը, որի անունը պահվում է $property փոփոխականում.

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; // սահմանում ենք արժեքը } } ?>

Այժմ մենք կկարողանանք գրել փակ հատկություններին դասի սահմաններից դուրս.

<?php $test = new Test; $test->prop1 = 1; // կգրենք 1 $test->prop2 = 2; // կգրենք 2 ?>

Գրել կարող ենք, սակայն, ստուգել՝ արդյոք ինչ-որ բան գրվեց այնտեղ - ոչ, քանի որ հատկությունները փակ են:

Կարելի է ստեղծել գետտեր այդ հատկությունների համար կամ ուղղակի օգտագործել __get կախարդական մեթոդը: Օգտագործենք երկրորդ տարբերակը.

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; } // Հատկությունների կախարդական գետտերը. public function __get($property) { return $this->$property; } } ?>

Ահա այժմ մենք կարող ենք ստուգել մեր դասի աշխատանքը: Ստուգենք.

<?php $test = new Test; $test->prop1 = 1; // կգրենք 1 $test->prop2 = 2; // կգրենք 2 echo $test->prop1; // կարտածի 1 echo $test->prop2; // կարտածի 2 ?>

Իրականում, իհարկե, չարժե բոլորին թույլատրել գրել փակ հատկություններին, հակառակ դեպքում կկորչի այդ փակ հատկությունների իմաստը (ավելի հեշտ է դրանք դարձնել հանրային և վերջ):

Ուստի այս մեթոդը պետք է կիրառել միայն այն դեպքում, երբ դրա համար իսկապես անհրաժեշտություն կա: Հաջորդ դասերում մենք կդիտարկենք հաջող կիրառման օրինակներ:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել