⊗ppOpMgSP 91 of 107 menu

PHP OOP-da jynslaryň ýazylmagy seýilmeň bilen

Seýilmeň usuly __set ýok bolan ýa-da gizlin jynsyň bahasyny üýtgetmek synanyşygyna çagyrylýar. Parametr hökmünde ol jynsyň adyny we ona belläp bolýan bahany alýar.

Amaly mysalda göz ýetirip göräýeli. Bizde Test atly klas berlen bolsun:

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

Bu klasda seýilmeň usul __set ýasaýaly, ol var_dump funksiýasyny ulanyp, jynsyň adyny, ýüz tutulan, we oňa düzmek synanyşylýan bahany, çykarar:

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

Klasymyzyň işini barlaýaly:

<?php $test = new Test; $test->prop = 'value'; // __set usulynyň var_dump-y 'prop value' çykarar ?>

Indi bolsa, ady $property üýtgeýjide saklanýan jynsa baha düzeliň:

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

Indi biz hususy jynslary klasyn daşyndan ýazyp bileris:

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

Biz ýazyp bileris, ýöne, ol ýere nämäniň ýazylýandygyny barlap bilmeris, sebäbi jynslar hususy.

Bu jynslar üçin getter ýasap bilersiňiz ýa-da diňe seýilmeň usulyndan __get peýdalanyp bilersiňiz. Ikinji warianty ulanýaly:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $this->$property = $value; } // Jynslaryň seýilmeň getter-y: public function __get($property) { return $this->$property; } } ?>

Indi bolsa klasymyzyň işini barlap bilýäris. Barlaýaly:

<?php $test = new Test; $test->prop1 = 1; // 1 ýazarys $test->prop2 = 2; // 2 ýazarys echo $test->prop1; // 1 çykarar echo $test->prop2; // 2 çykarar ?>

Hakykatda-da, elbetde, hemme adama hususy jynslara ýazmaga rugsat bermek gerek däl, ýoksa bu hususy jynslaryň many yok bolar (ony ýönekeýlikde açyk etmek ýeterlik we hemme).

Şonuň üçin bu usuly diňe hakykatdanam zerur bolan ýagdaýlarda ulanmaly. Indiki sapaklarda biz ýene-de amatly ulanylyşynyň mysallaryny gözden geçireris.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et