⊗ppOpBsInr 1 of 107 menu

PHP да ООП га кириш

Ҳозир биз PHP да ООП ни ўрганиш билан шуғулланамиз. Кундалик хаёддан мисол келтирамиз, сўнгра уни PHP га ўтказамиз.

Мисол учун автомобильни оламиз. Унда g'ildiraklar, ранг, кузов тури, двигатель хажми ва бошқалар мавжуд. Бундан ташқари, ҳайдовчи унга буйруқлар бериши мумкин: жўнамоқ, тўхтамоқ, ўнгга бурилиш, чапга ва ҳ.к.

Автомобилларнинг умумий хусусиятларига эга (ҳаммасида г'илдирак бор ва ҳаммасига буйруқ бериш мумкин) маълум бир синф мавжудлиги ҳақида гапириш мумкин.

Кўчада турган муайян автомобиль - бу шу синфнинг vakili, ёки бошқа сўзлар билан айтганда, шу синфнинг объекти. Бу синфнинг барча объектларида хусусиятлар: g'ildiraklar сони, ранг, кузов тури ва методлар: жўнамоқ, тўхтамоқ, ўнгга бурилиш, чапга мавжуд.

Бошқа сўзлар билан айтганда, синфнинг ўзи - бу нақша, унга кўра заводда автомобиллар ишлаб чиқарилади. Объект эса - ўша нақшалар асосида ясалган машинанинг ўзи.

PHP да синф class калит сузи орқали яратилади, ундан кейин эса шу синфнинг номи келади. Келик Car синфини яратайлик:

<?php class Car { // бу ерда код, яъни PHP нақшаси автомобиль учун } ?>

Энди бизнинг нақшамизда кўрсатамизки, ушбу нақша асосида яратилган ҳар қандай автомобиль ранг учун хусусиятга ва ёқилғи миқдори учун хусусиятга эга бўлади.

Буни амалга ошириш учун синф ичида $color хусусияти ва $fuel хусусиятини ёзамиз:

<?php class Car { // Хусусиятларни белгилаймиз (аслда синфнинг ўзгарувчилари): public $color; // автомобилнинг рангі public $fuel; // ёқилғи миқдори } ?>

Келик энди бизнинг синфимизнинг методларини ясайлик. PHP да методлар, oddiy функциялар каби, function калит сузи ёрдамида эълон қилинади, ундан олдин эса public калит сузи ёзилади.

Юқорида айтиб ўтилганидек, бизнинг автомобилимиз жўнай олади, бурила олади, тўхтай олади. Бизниң синфимизда мос келувчи методларни ясаймиз:

<?php class Car { public $color; // автомобилнинг рангі public $fuel; // ёқилғи миқдори // Жўнаш буйруғи: public function go() { // қандайдир PHP коди } // Бурилиш буйруғи: public function turn() { // қандайдир PHP коди } // Тўхташ буйруғи: public function stop() { // қандайдир PHP коди } } ?>

Биз сиз билан автомобилимизнинг нақшасини ясадik. Энди заводга бориб, шу синфнинг объектини ясаш (яъни муайян автомобиль) керак.

PHP да бу new калит сузи ёрдамида бажарилади, ундан кейин синф номи ёзилади:

<?php new Car; ?>

Бирок, агар синф объектини оддигина яратсак - бу ҳеч нарсага олиб келмайди (бу масалан, массив эълон қилиб, уни ҳеч қаерга ёзмаганга ўхшайди). Бизга бу объектни сақлаш учун ўзгарувчи керак.

Бу ўзгарувчи $myCar деб аталинсин - унга биз яратган объектимизни ёзайлик:

<?php $myCar = new Car; ?>

Автомобиль яратилганидан сўнг унинг хусусиятларига муроожат қилиш мумкин. Уларга муроожат стрелка -> орқали амалга оширилади. Келик объектимизнинг хусусиятларини ўрнатайлик:

<?php $myCar = new Car; // заводга автомобиль ясашни буйурдик // Объект хусусиятларини ўрнатаймиз: $myCar->color = 'red'; // қизил рангга бўяймиз $myCar->fuel = 50; // ёқилғи quyamiz ?>

Ҳаммаси, бизнинг автомобилимиз яратилди, бўялди ва ёқилғи билан тўлдирилди. Энди биз унга ушбу автомобилнинг методлари орқали буйруқлар беришимиз мумкин.

Методларга муроожат хам стрелка орқали амалга оширилади, лекин хусусиятдан фарқли ўларок, метод номидан кейин айланма қавслар ёзилади. Келик объектимизга буйруқ берамиз:

<?php $myCar->go(); $myCar->turn(); $myCar->stop(); ?>
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш