PHP

**PHP** — bul tiykarınan veb-baǵdarlamalastırıwǵa arnalǵan ulıwma maqsetli skriptlew tili. Ol dáslep 1993-jılı Daniya-Kanadalı baǵdarlamashı Rasmus Lerdorf tárepinen jaratılǵan hám 1995-jılı shıǵarılǵan. PHP anıqlama implementaciyası házirgi waqıtta PHP Toparı tárepinen islep shıǵarıladı. PHP dáslep **Personal Home Page** diń qısqartpası edi, biraq házir ol rekursiv bekronim PHP: **Gipertekst Preprocessorı** degen mánisti bildiredi.

PHP kodı ádette veb-serverde modul, demon yamasa Common Gateway Interface (CGI) orınlanatuǵın faylı retinde ámelge asırılǵan PHP interpretatorı tárepinen qayta islenedi. Veb-serverde interpretaciyalanǵan hám orınlanǵan PHP kodınıń nátiyjesi — ol generaciyalanǵan HTML yamasa ekilik súwret maǵlıwmatları sıyaqlı hár qanday túrdegi maǵlıwmat bolıwı múmkin — HTTP juwabınıń pútkil yamasa bir bólimin quraydı. Sol juwaptıń payda bolıwın basqarıw yamasa jeńillestiriw ushın qollanılıwı múmkin bolǵan hár túrli veb-shablon sistemaları, veb-kontentti basqarıw sistemaları hám veb-freymvorklar bar. Bunnan tısqarı, PHP veb kontekstinen tıs kóplegen programmalastırıw wazıypaları ushın, mısalı, jeke isleytuǵın grafikalıq qosımshalar hám dronlardı basqarıw ushın qollanılıwı múmkin. PHP kodı sonday-aq komanda qatarınan tikkeley orınlanıwı múmkin.

Zend Engine tárepinen iske túsiriletuǵın standart PHP interpretatorı PHP Licenziyası boyınsha shıǵarılǵan biypul programmalıq támiynat bolıp tabıladı. PHP keń kólemde portlanǵan hám hár túrli operaciyalıq sistemalar hám platformalardaǵı kópshilik veb-serverlerde ornalastırılıwı múmkin.

PHP tili jazba rásmiy specifikaciya yamasa standartsız rawajlandı, bunda dáslepki implementaciya basqa implementaciyalar úlgi alıwǵa umtılǵan de-fakto standart retinde xızmet etti.

W3Techs esabatına sáykes, 2024-jıldıń 27-oktyabr sánesine (PHP 7 toqtatılǵanına shama menen eki jıl hám PHP 8.3 relizinen 11 ay ótkennen keyin), PHP 7 ele de PHP veb-saytlarınıń 50.0%-inde qollanılmaqta, bul eskirgen hám qáwipsiz emes ekenligi belgili. Sonıń menen bir qatarda, PHP veb-saytlarınıń 13.2%-i bunnan da eskirgen (5+ jıldan berli toqtatılǵan) hám qáwipsiz emes PHP 5-ti paydalanadı, hám endi qollap-quwatlanbaytuǵın PHP 8.0 de júdá keń tarqalǵan, solay etip PHP veb-saytlarınıń kópshiligi qollap-quwatlanatuǵın versiyalardı paydalanbaydı.

## Tariyxı

### Early history (1993 to 1997)
PHP-di islep shıǵıw 1993-jılı Rasmus Lerdorf C tilinde bir neshe Ulıwma Shlyuz Interfeysi (CGI) programmasın jazǵanda baslandı, olardı óziniń jeke úy betin qollap-quwatlaw ushın paydalandı. Ol olardı veb-formalar menen islesiw hám maǵlıwmatlar bazaları menen baylanısıw ushın keńeytti hám bul implementaciyanı «Personal Home Page/Forms Interpreter» yamasa PHP/FI dep atadı.

Dáslepki PHP sintaksisiniń mısalı:


```html
Háy, siz Netscape qollanıp atırsız!<p>





Keshiresiz, bul jazba joq<p>


Xosh keldińiz !<p>
Siziń shıjlanıńızda  kredit qaldı.<p>
```


PHP/FI ápiwayı, dinamikalıq veb-qosımshalardı qurıw ushın qollanılıwı múmkin edi. Qátelerdi xabarlawdı tezletiw hám kodtı jaqsılaw ushın, Lerdorf dáslep PHP/FI-diń shıǵarılıwın 1995-jıl 8-iyunda Usenet talqılaw toparı comp.infosystems.www.authoring.cgi-de «Personal Home Page Tools (PHP Quralları) 1.0 versiyası» retinde járiyaladı. Bul reliz Perl-ge uqsas ózgeriwshiler, formalardı qayta islew hám HTML jaylastırıw imkaniyatı sıyaqlı tiykarǵı funkcional imkaniyatlardı óz ishine aldı. Usı waqıtqa kelip, sintaksis Perl-ge uqsaytuǵın bolıp ózgerdi, biraq ápiwayıraq, sheklengenirek hám izbe-iz emes edi.

Dáslepki PHP hesh qashan jańa programmalastırıw tili bolıwǵa arnalmaǵan edi; kerisinshe, ol organikalıq túrde ósti, Lerdorf keyinirek eslep: «Men onı qalay toqtatıwdı bilmeymen [...] hesh qashan programmalastırıw tili jazıw niyeti bolmaǵan [...] Men programmalastırıw tilin qalay jazıwdı ulıwma bilmeymen [...] Men tek kelesi logikalıq qádemdi qosıp bardım». Islep shıǵıw komandası qáliplese basladı hám bir neshe aylıq jumıs hám beta-testlewden keyin, 1997-jıl noyabr ayında PHP/FI 2 rásmiy túrde shıǵarıldı.

PHP-diń dáslep proektlestirilmegenligi, kerisinshe organikalıq túrde rawajlanǵanı funkciya atlarınıń izbe-iz emes atalıwına hám olardıń parametrleriniń izbe-iz emes tártibine alıp keldi. Ayırım jaǵdaylarda, funkciya atları PHP «oralǵan» tómengi dárejeli kitapxanalarǵa sáykes keliwi ushın tańlandı, al PHP-diń júdá dáslepki versiyalarında funkciya atlarınıń uzınlıǵı ishki xesh funkciyası retinde paydalanıldı, solay etip atlar xesh mánisleriniń tarqalıwın jaqsılaw ushın tańlandı.

### PHP 3 hám 4 (1998-jıldan 2004-jılǵa shekem)

Zeev Suraski hám Andi Gutmans 1997-jılı parserdi qayta jazdı hám PHP 3-tiń tiykarın quradı, tildiń atın rekursiv abbreviatura PHP: Gipertekst Preprocessorı dep ózgertti. Sonnan keyin, PHP 3-tiń jámiyetshilik testlewi baslandı hám rásmiy iske túsiriw 1998-jıl iyun ayında boldı. Suraski hám Gutmans keyin PHP yadrosın jańadan qayta jazıwdı basladı hám 1999-jılı Zend Engine-di payda etti. Olar sonday-aq Izraildiń Ramat Gan qalasında Zend Technologies kompaniyasına tiykar saldı.

2000-jıl 22-mayda Zend Engine 1.0 tárepinen iske túsiriletuǵın PHP 4.0 shıǵarıldı. 2008-jıl avgust ayına kelip, bul tarmaq 4.4.9 versiyasına jetti. PHP 4 házirgi waqıtta endi islep shıǵarılmaydı hám hesh qanday qáwipsizlik jańalanıwları shıǵarılıwı jobalastırılmaǵan.

### Dáslepki PHP 5 (2004-jıldan 2006-jılǵa shekem)
2004-jıl 1-iyulda jańa Zend Engine 2.0 tárepinen iske túsiriletuǵın PHP 5.0 shıǵarıldı. PHP 5.0 tilge áhmiyetli ózgerisler kirgizdi, eń áhmiyetlisi obyektke baǵdarlanǵan programmalastırıwǵa tolıq qayta qaralǵan usıl, sonday-aq iteratorlar hám ayrıqsha jaǵdaylar.

PHP 5.1 hám PHP 5.2 kelesi jılları shıǵarıldı hám kishirek jaqsılanıwlar menen jańa ózgesheliklerdi, mısalı, PHP Maǵlıwmat Obyektleri (PDO) keńeytpesin (ol maǵlıwmatlar bazalarına kiriw ushın jeńil hám izbe-iz interfeysti anıqlaydı) qostı. 2008-jılı PHP 5.x islep shıǵılıp atırǵan jalǵız turaqlı versiyaǵa aylandı.

Kóplegen joqarı dárejeli ashıq kodlı proektler 2008-jıl 5-fevraldan baslap jańa kodta PHP 4-ti qollap-quwatlawdı toqtattı, bul PHP 4-ten PHP 5-ke ótiwdi xoshametleytuǵın PHP baǵdarlamashıları konsorciumı tárepinen usınılǵan GoPHP5 baslaması sebepli boldı.

### <span id="PHP6-UNICODE">PHP 6 hám Unicode</span>
PHPdiń jergilikli qatar funkciyaları tek shiyki baytlar menen isleytuǵın edi, bul kóp baytlı belgiler kodlawları menen paydalanıwdı qıyınlastırdı. 2005-jılı Andrey Zmievskiy basshılıǵındaǵı proekt Xalıqaralıq Unicode Komponentleri (ICU) kitapxanasın jaylastırıw hám tekst qatarların ishki túrde UTF-16 retinde kórsetiw arqalı pútkil PHP boyınsha jergilikli Unicode qollap-quwatlawın kirgiziw ushın baslandı. Bul tildiń ishki dúzilisine de, paydalanıwshı kodına da úlken ózgerisler kirgizetuǵınlıqtan, bunı tildiń 6.0 versiyası retinde, sol waqıtta islep shıǵılıp atırǵan basqa da iri ózgeshelikler menen birge shıǵarıw jobalastırılǵan edi.

Biraq, kerekli ózgerislerdi túsinetuǵın baǵdarlamashılardıń jetispewshiligi hám veb kontekstinde siyrek qollanılatuǵın UTF-16-ǵa hám onnan túrlendiriwden kelip shıǵatuǵın ónimdarlıq máseleleri proekttiń keshigiwine alıp keldi. Nátiyjede, 2009-jılı PHP 5.3 relizi jaratıldı hám 2010-jıl mart ayında házirgi formasındaǵı proekt rásmiy túrde toqtatıldı hám PHP 6-dan qalǵan kópshilik Unicode emes ózgesheliklerdi óz ishine alatuǵın PHP 5.4 relizi tayarlandı. Dáslepki úmitler Unicode integraciyası ushın jańa joba dúziletuǵını haqqında edi, biraq 2014-jılǵa kelip hesh qanday joba qabıl etilmedi.

### Keyingi PHP 5 (2009-jıldan 2014-jılǵa shekem)

PHP 5.3 dáslep 6.0 diń bir bólimi bolıwǵa arnalǵan ózgesheliklerdi óz ishine alǵanlıqtan, bul áhmiyetli reliz boldı. Ol atlar keńislikleri, jabıwlar, kesh statikalıq baylanıstırıw ushın qollap-quwatlawdı hám standart funkciyalarǵa kóplegen dúzetiwler menen jaqsılanıwlardı qostı.

Unicode shaqası rásmiy túrde biykar etilgennen keyin, 2011-jılı jańa shıǵarıw procesi qabıl etildi, jıllıq shıǵarıw ciklin jobalastırıp, «ózgeshelikler shıǵarılıwı» (x.y.z den x.y+1.z ge) menen «iri shıǵarılıwlar» (x.y.z den x+1.0.0 ge) arasında anıq ayırmashılıq qoyıldı. 6.0 shıǵarılıwı ushın jobalastırılǵan qalǵan ózgeshelikler 2012-jıl mart ayında shıǵarılǵan PHP 5.4 ke kirgizildi, mısalı, treytlerdi qollap-quwatlaw hám jańa «qısqa massiv sintaksisi». Sonnan keyin PHP 5.5 (2013-jıl iyun) hám 5.6 (2014-jıl avgust) versiyalarında kóbirek qosımsha ózgerisler boldı.

PHP 5.3 hám 5.4 versiyaları ushın tek 32-bitlik IA-32 qurılısları ǵana bar Microsoft Windows ekilik tarqatıwları bolǵan, bul 64-bitlik Windows platformasında Internet Information Services (IIS) paydalanǵanda Windows 32-bitlik sáykeslik rejiminde islewdi talap etken. PHP 5.5 versiyası Microsoft Windows ushın 64-bitlik x86-64 qurılısların qoljetimli etti.

PHP 5.6 ushın rásmiy qáwipsizlik qollap-quwatlawı 2018-jıl 31-dekabrde juwmaqlandı.

### PHP 7.x (2015-jıldan 2019-jılǵa shekem)
2014 hám 2015-jıllar dawamında jańa úlken PHP versiyası, PHP 7.0 islep shıǵarıldı. Bul versiyanıń nomerleniwi ishki islep shıǵıwshılar arasında biraz talqılawǵa sebep boldı. PHP 6 Unicode tájiriybeleri hesh qashan shıǵarılmaǵan bolsa da, bir neshe maqalalar hám kitap atamaları PHP 6 atamalarına silteme bergen edi, bul eger jańa reliz sol attı qayta paydalansa, aljasıwǵa alıp keliwi múmkin edi. Dawıs beriwden keyin PHP 7 atı tańlandı.

PHP 7.0 diń tiykarı dáslep PHP keyingi áwladı (phpng) dep atalǵan PHP tarmaǵı bolıp tabıladı. Onı Dmitriy Stogov, Xinchen Xuy hám Nikita Popov jazǵan, hám derlik tolıq til sáykesligin saqlap qalǵan jaǵdayda Zend Engine-di refaktorlaw arqalı PHP ónimdarlıǵın optimallastırıwdı maqset etken. 2014-jıl 14-iyulǵa kelip, phpng proekti ushın tiykarǵı benchmark kompleksi retinde xızmet etken WordPress tiykarındaǵı benchmarklar ónimdarlıqtıń derlik 100% artıwın kórsetti. phpng-daǵı ózgerisler keleshektegi versiyalarda ónimdarlıqtı jaqsılawdı ańsatlastıradı, sebebi ıqsham maǵlıwat strukturaları hám basqa ózgerisler tez waqıtta kompilyaciya etiwshi (JIT) kompilyatorına sátli kóshiw ushın jaqsıraq sáykes keledi dep esaplanadı. Áhmiyetli ózgerislerge baylanıslı, qayta islengen Zend Engine Zend Engine 2 niń ornına Zend Engine 3 dep ataldı, ol PHP 5.x te qollanılǵan edi.

phpng-daǵı úlken ishki ózgerislerge baylanıslı, ol PHPdiń shıǵarıw procesine sáykes, kishi PHP 5 relizi ornına PHPdiń jańa úlken versiya nomerin alıwı kerek edi. PHPdiń úlken versiyaları kodtıń keri sáykesligin buzıwǵa ruqsat etedi, sonlıqtan PHP 7 keri sáykeslikti buzıwdı talap etetuǵın phpng-dan tıs basqa jaqsılanıwlar ushın múmkinshilik berdi. Atap aytqanda, ol tómendegi ózgerislerdi óz ishine aldı:
* Kóplegen qáwipli yamasa qayta tiklenetuǵın dárejedegi eski PHP qátelik mexanizmleri zamanagóy obyektke baǵdarlanǵan ayrıqsha jaǵdaylar menen almastırıldı.
* Ózgeriwshilerdi dereferenciyalaw sintaksisi ishki jaqtan kóbirek izbe-iz hám tolıq bolıwı ushın qayta islendi, bul `->`, `[]`, `()`,`{}` hám `::` operatorların qálegen mánili shep táreptegi ańlatpalar menen paydalanıwǵa imkaniyat berdi.
* `foreach` operatorınıń islew tártibi kóbirek aldınnan boljanatuǵın bolıwı ushın ózgertildi.
* Sátsizlikke ushıraǵanda null qaytaratuǵın bir neshe PHPge ornatılǵan klasslar ushın konstruktorlar izbe-izlik ushın onıń ornına ayrıqsha jaǵday taslaytuǵın etip ózgertildi.
* Bir neshe qollap-quwatlanbaytuǵın yamasa eskirgen server qosımsha programmalastırıw interfeysleri (SAPI) hám keńeytpeler PHP yadrosınan alıp taslandı, eń áhmiyetlisi eski `mysql` keńeytpesi.
* `list()` operatorınıń islew tártibi qatarlardı qollap-quwatlawdı alıp taslaw ushın ózgertildi.
* Eski ASP stilindegi shegaralawshılar `<%` hám `%>` hám `<script language="php"> ... </script>` ushın qollap-quwatlaw alıp taslandı.
* switch operatorınıń bir neshe `default` bólimge iye bolıwına imkaniyat beretuǵın qátelik dúzetildi.
* Qatarlardan san tiplerine ayırım jasırın túrlendiriwlerde on altılıq sanlardı qollap-quwatlaw alıp taslandı.
* Shepke jıljıtıw hám ońǵa jıljıtıw operatorları platformalar arasında anaǵurlım izbe-iz isleytuǵın etip ózgertildi.
* Haqıyqıy sanlar menen pútin sanlar arasındaǵı túrlendiriwler ózgertildi (mısalı, sheksizlik nolge túrlenetuǵın boldı) hám platformalar arasında anaǵurlım izbe-iz ámelge asırıldı.

PHP 7 sonday-aq jańa til ózgesheliklerin de óz ishine aldı. Eń áhmiyetlisi, ol bar bolǵan parametr tipi járiyalanıwların tolıqtırıwshı funkciyalar ushın qaytarılatuǵın tip járiyalanıwların hám parametr hám qaytarılatuǵın tip járiyalanıwlarında skalyar tiplerdi (pútin san, haqıyqıy san, qatar hám logikalıq) qollap-quwatlawdı kirgizdi.

### PHP 8.x (2020-jıldan baslap)
PHP 8.0 2020-jıl 26-noyabrde shıǵarıldı. PHP 8.0 — bul úlken versiya bolıp, aldıńǵı versiyalardan ayırmashılıq etetuǵın ózgerislerge iye. Jańa ózgeshelikler hám áhmiyetli ózgerislerge tómendegiler kiredi:

* Tez waqıtta kompilyaciyalaw (JIT). PHP 8-diń JIT kompilyatorı ayırım qollanıw jaǵdaylarında áhmiyetli ónimdarlıqtı jaqsılawdı támiyinley aladı,, PHP islep shıǵıwshısı Nikita Popovtıń aytıwınsha, kópshilik veb-saytlar ushın ónimdarlıqtıń jaqsılanıwı PHP 5-ten PHP 7-ge ótiwdegiden azıraq áhmiyetli boladı. Áhmiyetli jaqsılanıwlar ádettegi veb-baǵdarlamalastırıw qollanıw jaǵdaylarına qaraǵanda matematikalıq tiptegi operaciyalar ushın kóbirek kútiledi. Bunnan tısqarı, JIT kompilyatorı ayırım qollanıw jaǵdaylarında ónimdarlıqtıń jaqsılanıwı sebepli, ayırım kodtı C-den PHP-ge kóshiriw ushın keleshekte múmkinshilik beredi.
* `match` ańlatpası. match ańlatpası konseptual jaqtan `switch` operatorına uqsas hám ayırım qollanıw jaǵdaylarında anaǵurlım qısqaraq. `match` ańlatpa bolǵanlıqtan, onıń nátiyjesi ózgeriwshige tayınlanıwı yamasa funkciyadan qaytarılıwı múmkin.
* birlik tipleri, jańa `static` qaytarılatuǵın tip hám jańa `mixed` tip.
* «Atributlar», basqa programmalastırıw tillerinde kóbinese «annotaciyalar» dep ataladı, bul klasslarǵa metamaǵlıwmat qosıwǵa imkaniyat beredi.
* `throw` operator bolıwdan ańlatpa bolıwǵa ózgertildi. Bul aldın múmkin bolmaǵan jerlerde ayrıqsha jaǵdaylardı taslawǵa imkaniyat beredi.
* bir qatar scenariylerde alternativ, anaǵurlım qısqa yamasa anaǵurlım izbe-iz sintaksislerge imkaniyat beretuǵın ózgerisler. Mısalı, nullsafe operatorı null birlestiriw operatorı `??`-ǵa uqsas, biraq metodlardı shaqırǵanda qollanıladı.
* Konstruktor qásiyetin alǵa ilgerletiw «sintaksislik qolaylıq» retinde, klass qásiyetleriniń klass konstruktorına parametrler berilgende avtomat túrde ornatılıwına imkaniyat beredi. Bul jazılıwı kerek bolǵan shablon kodınıń muǵdarın azaytadı.
* Interfeyslerge hár túrli dúzetiwler, mısalı, interfeyslerden `DateTime` obyektlerin jaratıwdı qollap-quwatlawdı qosıw hám tip kórsetiw ushın paydalanılıwı múmkin bolǵan `Stringable` interfeysin qosıw.
* `str_contains()`, `str_starts_with()` hám `str_ends_with()` sıyaqlı hár túrli jańa funkciyalar; `fdiv()`; `get_debug_type()`; hám `get_resource_id()`
* PHPdiń C derek kodındaǵı tip annotaciyaları, ishki funkciyalar hám metodlardıń «refleksiyada tolıq tip informaciyasına» iye bolıwına imkaniyat beredi.

PHP 8.1 2021-jıl 25-noyabrde shıǵarıldı. Ol sanawlarǵa (enums dep te ataladı), qásiyetlerdi tek oqıw ushın dep járiyalawǵa (bul qásiyettiń inicializaciyadan keyin ózgertiliwin aldın aladı) hám qatar giltleri bar massivti ashıwǵa qollap-quwatlawdı qostı. Jańa never tipi funkciyanıń mánis qaytarmaytuǵının kórsetiw ushın paydalanılıwı múmkin.

PHP 8.2 2022-jıl 8-dekabrde shıǵarıldı. Bul relizdiń jańalıqları: tek oqıw ushın klasslar (olarınıń dana qásiyetleri jasırın túrde tek oqıw ushın), dizyunktiv normal forma (DNF) tipleri hám obyektke baǵdarlanǵan API menen psevdo-tosınarlı san generatorın usınatuǵın random keńeytpesi, Sezgir Parametr mánisin jasırıw hám basqa da kóplegen ózgeshelikler.

PHP 8.3 2023-jıl 23-noyabrde shıǵarıldı. Bul reliz tek oqıw ushın massiv qásiyetlerin kirgizdi, bul massivlerdiń inicializaciyadan keyin ózgermeytuǵın dep járiyalanıwına imkaniyat berdi. Ol sonday-aq ornatılǵan PHP klassları ushın klass psevdonimlerin, Random keńeytpesinde tosınarlı haqıyqıy san generaciyalaw ushın jańa metodlardı hám qaytarılatuǵın mánis qollap-quwatlawı bar jaqsılanǵan PHP INI sazlawların qostı. Sonıń menen bir qatarda, jańa stream_context_set_options funkciyası basqa jańalanıwlar hám eskirgenler menen birge, aǵım manipulyaciyası ushın jaqsılanǵan API usınadı.

PHP 8.4 2024-jıl 21-noyabrde shıǵarıldı.

## <span id=ELEPHPANT>Tumar</span>

PHP joybarınıń tumarı — elePHPant, bul qaptalında PHP logotibi bar kók pil bolıp, onı 1998-jılı Vinsent Pontier proektlestirgen. «(PHP) háriplerine qaptaldan qaraǵanda, pildiń formasın payda etedi.»

elePHPant geyde jumsaq oyınshıq formasında bolǵanda hár túrli reńde boladı. Bul fizikalıq tumardıń kóplegen variantları jıllar dawamında jasalǵan. Tek ǵana Vinsent Pontierdiń dáslepki dizaynına tiykarlanǵan elePHPantlar jámiyetshilik tárepinen rásmiy dep esaplanadı. Olar kollekciyalıq bolıp, ayırımları júdá siyrek ushırasadı.

## Sintaksis

Tómendegi «Sálem, álem!» programması HTML hújjetine jaylastırılǵan PHP kodında jazılǵan:


```html+php
<!DOCTYPE html>
<html>
<head>
<title>PHP "Hello, World!" program</title>
</head>
<body>
<p><?= 'Hello, World!' ?></p>
</body>
</html>
```


Degen menen, PHP kodınıń HTMLge jaylastırılıwı ushın hesh qanday talap joq bolǵanlıqtan, «Sálem, álem!» niń eń ápiwayı versiyasın tómendegishe jazıwǵa boladı, bunda jabıwshı teg `?>` taza PHP kodın óz ishine alǵan fayllarda maqul kórilgenindey túsirilip qaldırılǵan.


```php5
<?php echo 'Hello, World!';
```


PHP interpretatorı tek óziniń shegaralawshıları ishinde PHP kodın orınlaydı. Onıń shegaralawshılarınan tıs hár qanday nárse PHP tárepinen qayta islenbeydi, degen menen PHP emes tekst ele de PHP kodında súwretlengen basqarıw strukturalarına boysınadı. Eń keń tarqalǵan shegaralawshılar PHP bólimlerin ashıw ushın `<?php` hám jabıw ushın `?>` bolıp tabıladı. Qısqartılǵan forma `<?` da bar. Bul qısqa shegaralawshı skript faylların azıraq portativli etedi, sebebi olarǵa qollap-quwatlaw jergilikli PHP konfiguraciyasında óshiriliwi múmkin, sonlıqtan onı qollanıw usınıs etilmeydi. Kerisinshe, echo qısqa tegi `<?=` ge qarsı hesh qanday usınıs joq. PHP 5.4.0 ge shekem, `echo` ushın bul qısqa sintaksis tek short_open_tag konfiguraciya sazlawı qosılǵanda ǵana islegen, al PHP 5.4.0 hám onnan keyingiler ushın ol bárqulla qoljetimli. Bul barlıq shegaralawshılardıń maqseti PHP kodın JavaScript kodı yamasa HTML belgilewi sıyaqlı PHP emes kontentten ajıratıw bolıp tabıladı. Solay etip, PHPde jazılǵan eń qısqa «Sálem, álem!» programması:

```html+php
<?='Hello, World!';
```

Shegaralawshılardıń birinshi forması, `<?php` hám `?>`, XHTML hám basqa XML hújjetlerinde durıs qáliplesken XML qayta islew kórsetpelerin payda etedi. Bul server táreptegi fayldaǵı PHP kodı hám basqa belgilewlerdiń nátiyjesindegi aralaspası óz-ózinen jaqsı qáliplesken XML bolıp tabılatuǵının ańlatadı.

Ózgeriwshilerdiń aldına dollar belgisi qoyıladı hám tipin aldınnan kórsetiw kerek emes. PHP 5 funkciyalardıń óz parametrlerin belgili bir klasstıń obyektleri, massivler, interfeysler yamasa keri shaqırıw funkciyaları bolıwına májbúrlewge imkaniyat beretuǵın tip járiyalanıwların kirgizdi. Degen menen, PHP 7 ge shekem tip járiyalanıwları pútin sanlar yamasa qatarlar sıyaqlı skalyar tipler menen qollanılıwı múmkin emes edi.

Tómende PHP ózgeriwshileriniń qalay járiyalanatuǵını hám dáslepki mánis beriletuǵını haqqında mısal keltirilgen.


```php
<?php
$name = 'Djon'; // qatar tipindegi ózgeriwshi járiyalanıp, inicializaciyalanbaqta
$age = 18; // pútin san tipindegi ózgeriwshi járiyalanıp, inicializaciyalanbaqta
$height = 5.3; // qos dálliktegi ózgeriwshi járiyalanıp, inicializaciyalanbaqta
echo $name . ' is ' . $height . "m tall\n"; // ózgeriwshiler menen qatarlardı biriktiriw
echo "$name is $age years old."; // ózgeriwshilerdi qatarǵa interpolyaciyalaw
?>
```


Funkciya hám klass atlarınan ayırmashılıǵı, ózgeriwshi atları háriplerdiń úlken-kishiligine sezgir. Qos tırnaqshalı ("") hám heredoc qatarları ózgeriwshiniń mánisin qatarǵa interpolyaciyalaw imkaniyatın beredi. PHP jańa qatarlardı erkin formalı til sıyaqlı bos orın retinde qarastıradı hám operatorlar útirli noqat penen tamamlanadı. PHPde kommentariyalardıń úsh túrli sintaksisi bar: `/* */` blok hám qatar ishindegi kommentariyalardı belgileydi; `//` yamasa `#` bir qatarlı kommentariyalar ushın qollanıladı. `echo` operatorı PHPdiń tekstti shıǵarıw ushın usınatuǵın bir neshe qurallarınıń biri bolıp tabıladı.

Gilt sózler hám til sintaksisi boyınsha PHP C stilindegi sintaksiske uqsas. `if` shártleri, `for` hám `while` ciklleri hám funkciyadan qaytarıwlar C, C++, C#, Java hám Perl sıyaqlı tillerdegige uqsas sintaksiske iye.

### Maǵlıwmat tipleri
PHP hálsiz tiplestirilgen. Ol pútin sanlardı platformaǵa baylanıslı diapazonda, yamasa C tilindegi long tipine ekvivalent 32, 64 yamasa 128-bitlik belgili pútin san retinde saqlaydı. Belgisiz pútin sanlar belgili jaǵdaylarda belgili mánislerge aylandırıladı, bul basqa kóplegen programmalastırıw tillerinen ayırmashılıq etedi. Pútin san ózgeriwshilerine onlıq (oń hám teris), segizlik, on altılıq hám ekilik belgilewler arqalı mánis beriwge boladı.

Haqıyqıy sanlar da platformaǵa tán diapazonda saqlanadı. Olar haqıyqıy san belgilewi yamasa ilimiy belgilewdiń eki forması arqalı kórsetiliwi múmkin. PHPde Java hám C++ tegi jergilikli logikalıq tiplerge uqsas jergilikli logikalıq tipi bar. Logikalıq tipke aylandırıw qaǵıydaların paydalanıp, nol emes mánisler durıs (true) dep, al nol jalǵan (false) dep interpretaciyalanadı, Perl hám C++ tegi sıyaqlı.

null maǵlıwmat tipi mánisi joq ózgeriwshini bildiredi; `NULL` bul maǵlıwmat tipi ushın ruqsat etilgen jalǵız mánis bolıp tabıladı.

«Resurs» tipindegi ózgeriwshiler sırtqı dereklerden alınǵan resurslarǵa siltemelerdi bildiredi. Olar ádette belgili bir keńeytpeniń funkciyaları tárepinen jaratıladı hám tek sol keńeytpeniń funkciyaları tárepinen ǵana qayta isleniwi múmkin; mısallarǵa fayl, súwret hám maǵlıwmatlar bazası resursları kiredi.

Massivler PHP qayta isley alatuǵın hár qanday tiptegi elementlerdi, sonıń ishinde resurslardı, obyektlerdi hám hátte basqa massivlerdi de óz ishine ala aladı. Tártip mánisler diziminde de, giltleri hám mánisleri bar xeshlerde de saqlanadı hám ekewi de aralastırılıwı múmkin. PHP sonday-aq qatarlardı da qollap-quwatlaydı, olar bir tırnaqsha, qos tırnaqsha, nowdoc yamasa heredoc sintaksisi menen qollanılıwı múmkin.

**Standart PHP Kitapxanası** (SPL) standart máselelerdi sheshiwge háreket etedi hám nátiyjeli maǵlıwmatlarǵa kiriw interfeysleri menen klassların ámelge asıradı.

## Derekler

__BÖLİDİMÖNDEMEW__