Ji bo ku em bigihîjin nirxa xwedan taybetmendiyek di polê de, pêdivî ye ku em têgeha encapsulasyonê di bernamesaziya objekt-oriented de fam bikin. Encapsulation prensîbek bingehîn e ku destûrê dide me ku em gihîştina endamên polê, wekî taybetmendî û rêbazan, kontrol bikin. Di PHP-ê de, em dikarin bi karanîna guhêrbarên gihîştinê ve encapsulasyonê bi dest bixin.
Di PHP-ê de, sê guhêrbarên me hene: gelemperî, parastî û taybet. Taybetmendî û rêbazên gelemperî dikarin ji her derê werin gihîştin, dema ku taybetmendiyên parastî û rêbazên parastî tenê di hundurê çîna xwe an jêr-classên wê de têne gihîştin. Taybetmendî û rêbazên taybet, ji hêla din ve, tenê di hundurê pola ku ew têne diyar kirin de têne gihîştin.
Ji bo ku em bigihîjin nirxa taybetmendiyek taybet a di polê de, em bi gelemperî rêbazên getter û setter bikar tînin. Rêbazek getter berpirsiyar e ji bo wergirtina nirxa milkek taybet, dema ku rêbazek setter ji bo nûvekirina nirxa xanîyek taybet tê bikar anîn. Ka em li mînakekê binêrin:
php class MyClass { private $myPrivateProperty; public function getMyPrivateProperty() { return $this->myPrivateProperty; } public function setMyPrivateProperty($value) { $this->myPrivateProperty = $value; } } $obj = new MyClass(); $obj->setMyPrivateProperty('Hello, World!'); echo $obj->getMyPrivateProperty(); // Output: Hello, World!
Di mînaka li jor de, çînek me ya bi navê `MyClass` heye ku xwedî taybetmendiyek taybet e `$myPrivateProperty`. Me bi rêzê ve ji bo gihîştina û guheztina nirxa taybetmendiya taybet rêgezên wergir û setter diyar kiriye (`getMyPrivateProperty` û `setMyPrivateProperty`).
Ji bo ku em xwe bigihînin taybetmendiya taybet, em mînakek pola (`$obj`) diafirînin û ji bo danîna nirxek rêbaza sazker (`setMyPrivateProperty`) bikar tînin. Dûv re, em rêbaza wergir (`getMyPrivateProperty`) bikar tînin da ku nirxê bistînin û wê li dergehê vegerînin.
Bi karanîna rêbazên getter û setter, em dikarin kontrol bikin ka meriv çawa milkê taybet tê gihîştin û guhertin. Em dikarin di hundurê van rêbazan de mantiq an pejirandina zêde zêde bikin da ku pê ewle bibin ku xanî rast tê gihîştin û guheztin.
Girîng e ku bala xwe bidinê ku gihîştina taybetmendiyên taybet rasterast ji derveyî çarçoweya polê nayê pêşniyar kirin, ji ber ku ew prensîba encapsulasyonê binpê dike. Encapsulation bi kontrolkirina gihîştina rewşa wê ya hundurîn re ji bo domandina yekitî û hevgirtina polê dibe alîkar.
Ji bo gihîştina nirxa taybetmendiyek di polê de, em dikarin rêbazên getter û setter bikar bînin. Van rêbazan gihîştina kontrolkirî ya taybetmendiyên taybet peyda dikin û dihêlin ku em nirxên wan bistînin û biguherînin. Bi karanîna guhezker û guhezkerên gihîştinê, em dikarin yekrêzî û domdariya çînên xwe piştrast bikin.
Pirs û bersivên din ên vê dawiyê di derbarê Di PHP-ê de pol û tişt:
- Nêzîkatiya pêşniyarkirî ji bo gihîştin û guheztina taybetmendiyên di polê de çi ye?
- Em çawa dikarin di polê de nirxa milkek taybet nûve bikin?
- Feydeya bikaranîna wergir û seteran di polê de çi ye?
- Armanca taybetkirina milkên di polê de çi ye?
- Di dersên PHP de fonksiyonek çêker çi ye û armanca wê çi ye?
- Di dersên PHP de rêbazên çi ne û em çawa dikarin dîtina wan diyar bikin?
- Taybetmendiyên di çînên PHP de çi ne û em çawa dikarin dîtina wan diyar bikin?
- Em çawa ji çînek di PHP-ê de tiştek biafirînin?
- Di PHP de çînek çi ye û ji kîjan armancê re xizmet dike?