⊗ppOpBsInr 1 of 107 menu

Муқаддима ба ООП дар PHP

Акнун мо ООП-ро дар PHP омӯхтан мешавем. Биёед мисоле аз ҳаётро дида бароем, сипас онро ба PHP гузаронем.

Ҳамчун мисол автомобилро мегирем. Дар он чархҳо, ранг, намуди кузов, ҳаҷми муҳаррик ва ғайра мавҷуданд. Ғайр аз ин, ронанда метавонад ба он фармон диҳад: равона шав, ист, ба рост бигард, ба чап ва ғайра.

Метавон гуфт, ки як синфи автомобилҳо мавҷуд аст, ки хосиятҳои умумиро доранд (ҳамаашон чарх доранд ва ба ҳамаашон метавон фармон дод).

Автомобили мушаххасе, ки дар кӯча истодааст - ин намояндаи ин синф аст, ё, бо дигар калимаҳо, объекти ин синф. Ҳамаи объектҳои ин синф хосиятҳо доранд: шумораи чархҳо, ранг, намуди кузов ва усулҳо: равона шав, ист, ба рост бигард, ба чап.

Ба дигар калимаҳо худи синф - ин лоиҳаест, ки тибқи он дар корхона автомобилҳо сохта мешаванд. Объект ҳамон мошинест, ки тибқи ин лоиҳаҳо сохта шудааст.

Дар PHP синф бо калимаи калиди class эҷод карда мешавад, ки пас аз он номи ин синф меояд. Биёед синфи Car созем:

<?php class Car { // дар инҷо рамз, яъне лоиҳаи PHP-и автомобил } ?>

Акнун дар лоиҳаи худ муайян кунем, ки ҳар як автомобил, ки тибқи ин лоиҳа сохта мешавад, хосият барои ранг ва хосият барои миқдори сӯзишворӣ хоҳад дошт.

Барои ин дар дохили синф хосиятҳои $color ва $fuel-ро менависем:

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

Биёед акнун усулҳои синфи худро созем. Дар PHP усулҳо, монанди функсияҳои оддӣ, бо истифода аз калимаи калидӣ function эълон карда мешаванд, ки пеш аз он калимаи калидии public навишта мешавад.

Чун ки аллакай зикр шуд, автомобили мо метавонад равона шавад, метавонад гардад, метавонад ист. Усулҳои мувофикро дар синфи худ созем:

<?php class Car { public $color; // ранги автомобил public $fuel; // миқдори сӯзишворӣ // Фармони равона шудан: public function go() { // як навъи рамзи PHP } // Фармони гардиш: public function turn() { // як навъи рамзи PHP } // Фармони истодан: public function stop() { // як навъи рамзи PHP } } ?>

Мо бо шумо лоиҳаи автомобили худро сохтем. Акнун бояд ба корхона рафта объекти ин синфро созем (яъне автомобили мушаххас).

Дар PHP ин бо истифода аз калимаи калидӣ new анҷом дода мешавад, ки пас аз он номи синф навишта мешавад:

<?php new Car; ?>

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

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

<?php $myCar = new Car; ?>

Пас аз сохтани автомобил ба хосиятҳои он муроҷиат кардан мумкин аст. Муроҷиат ба онҳо тавассути тир -> сурат мегирад. Биёед хосиятҳои объекти худро насб кунем:

<?php $myCar = new Car; // ба корхона фармон медиҳем, ки автомобил созад // Хосиятҳои объектро насб мекунем: $myCar->color = 'red'; // ба сурх ранҷ медиҳем $myCar->fuel = 50; // сӯзишворӣ мерезем ?>

Ҳама чиз, автомобили мо сохта, ранҷ ва сӯзишворӣ шуд. Акнун мо метавонем ба он тавассути усулҳои ин автомобил фармон диҳем.

Муроҷиат ба усулҳо низ тавассути тир сурат мегирад, аммо, баръакси хосият, пас аз номи усул қавсҳои гирда навишта мешаванд. Биёед ба объекти худ фармон диҳем:

<?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çeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан