⊗ppOpTrInr 77 of 107 menu

PHP-dä OOP-da treýtlar

Bilşiňiz ýaly, PHP-dä bir wagtyň özünde birnäçe klasdan dogrylyp bolmaýar, diňe birinden. Öň biz bu meseläniň çözgüdini geçdik: miras almak ýerine bir klaslaryň obýektlerini beýlekileriniň içinde ulanmak.

PHP-dä ýene bir usul hem bar. Ol treýtlary ulanmakdan ybarat. Treýt beýleki bir klasa goşup bolýan aýratynlyklar we usullar toplumyny öz içine alýar. Şol ýerde aýratynlyklar we usullar treýt tarapyndan klas üçin özüniňki ýaly kabul ediler.

Treýtiň sintaksisi klasyňky bilen birmeňzeş, ýöne treýtiň adyny trait açar sözi bilen yglan etmekden başga.

Treýtiň nusgasyny döredip bolmaýar - treýtlar diňe beýleki klaslara birikdirilmek üçin niýetlenendir. Özi birikdirmek use buýrugy bilen amala aşyrylýar, onuň yzyndan boşluk bilen birikdirilýän treýtiň ady görkezilýär. Bu buýruk klasyň başynda ýazylýar.

Geliň treýtleriň ulanylyşyny amaly mysalda göreli. Bizde şeýle treýt bolsun Helper, öz içine alýan hususy aýratynlyklar name we age, şeýle hem olaryň getterleri:

<?php trait Helper { private $name; private $age; public function getName() { return $this->name; } public function getAge() { return $this->age; } } ?>

Bizde şeýle klas User hem bolsun, onuň konstruktorunda aýratynlyklar name we age bellenilýär:

<?php class User { public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

Indi geliň aýratynlyklarymyz üçin getterleri goşalyň biziň klasymyzyň User. Ýöne olary klasyň özünde ýazmazlyk, diňe birikdireliň treýt Helper, bu usullar ýöne eýýäm amala aşyryldy:

<?php class User { use Helper; // treýti birikdirýäris public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

Treýt birikdirilenden soň klasymyzda peýda bolar bu treýtiň usullary we aýratynlyklary. Şol ýerde ýüzlenýän boljak bolsa bu usullara we aýratynlyklara klasyň özüniňki ýaly:

<?php $user = new User('john', 30); echo $user->getName(); // 'john' çykarar echo $user->getAge(); // 30 çykarar ?>

Aýratynlyklary bilen City klasyny amala aşyryň name, age, population we olar üçin getterler. Biziň klasymyz öz koduny gysgaltmak üçin eýýäm döredilen treýtimizi Helper ulanar.

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