PHP

**PHP** ( — «PHP: еренмәтінді алдын-ала үдірістегіш») — Веб-серверде HTML беттерін құру және дерекқормен жұмыс істеуге арналған скрипті бағдарламалау тілі. Қазіргі күндерде хостинг қызметін ұсынатындардың көпшілігімен қолданады. LAMP веб-торап жасауға арналған стандартты жинақталымына енеді.
Тілдің оңайлығы, орындалу жылдамдығы, функциялық байлығы және PHP негізіндегі әуелгі кодтардың кеңге таралуының арқасында PHP тілі Торда программалау саласында ең белгілі тілдердің бірі боп есептелінеді (JSP мен ASP-де қолданылатын тілдермен қатар). Бұл тілдің айрықшылығы ядро мен соған қосылатын модульдарында. Соңғылары дерекқор, сокет, динамикалық графика, криптографиялық кітапханалар, PDF форматты құжаттармен және т.б. жұмыс істеуге арналған. Бұндай модульды қалаған адам дамытып қоса алады. Модульдардың саны бір неше жүз болғанымен, стандарттық жабдықтауға тек жақсы нәтиже көрсеткен бір неше оны ғана кіреді. PHP интерпретаторы веб-серверге не арнайы сол сервер үшін жасалған модуль арқылы (мысалы, Apache әлде IIS), не CGI-қосымшасы ретінде қосылады.

Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері айтарлықтай нәтиже көрсетіп отыр.

Тілдің синтаксисі Си тілі тәріздес. Ассоциаттивтік массивтар мен foreach циклі секілді кейбір элементтері Perl тілінен алынған.

Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет желісі сайттарының 5-тен бірі осы тілде жазылған.

PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін, соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен айналысатын көптеген адамдардан тұрады.

## Тарихы
1994 жылы даттық программист Расмус Лердорф HTML-құжаттар үлгілерін өңдейтін онлайн түйіндегі қатысушылардың шығару және енгізу үшін Perl/CGI скриптер жинағын жасады. Лердорф жинақты Personal Home Page (Жеке Үй Беті) деп атады. Уақыт келе, Perl - скрипт интепретаторының жұмыс істеуі және жылдамдығы жеткіліксіз болып, Лердорф Си тілін қолданып үлгелерінің PHP/FI (ағыл. Personal Home Page / Forms Interpreter — «Жеке Үй Беті / Формалардың Интерпретаторы») жаңа интерпретаторын енгізді.

## Синтаксисі
PHP тілі синтаксисі C тіліне ұқсас. Кейбір элементтер, мысалы ассоциативті массивтер мен `foreach` циклі Perl тілінен алынған.

PHP тілінің лексикалық талдауы re2c утилитасы арқылы жүзеге асырылады. Бұл утилита жылдам әрі оңай кіріктірілетін лексерлерді генерациялайды.

Ең қарапайым скрипт жазу үшін қандай да бір айнымалыларды, қолданылатын модульдерді және т.б. алдын ала сипаттау талап етілмейді. Кез келген скрипт тікелей `<?php` операторынан басталып, `?>` операторымен аяқталуы мүмкін. Жабушы оператор міндетті емес, оны негізгі код орындалғаннан кейін шығару ағынына артық таңбалардың жіберілуін болдырмау үшін қолданбау ұсынылады.

PHP тіліндегі ең қарапайым **Hello, world!** бағдарламасы келесі түрде жазылады:
 `<?php
 
 echo 'Hello, world!';`
Жолды шығарудың қысқартылған нұсқасы да бар:
 `<?='Hello, world!'?>`
`<?=` түріндегі ашушы тег жолды шығару үшін қолданылатын конструкцияларды қысқаша жазу мақсатында пайдаланылады.

Назар аудару керек жайт: `<?=` — `<?php echo` нұсқасының қысқартылған түрі болғанымен, ол «қысқартылған тег» (мысалы, `<?`) болып саналмайды. Қысқартылған тегтер ескірген деп белгіленген және оларды қолдану қатаң түрде ұсынылмайды. Ал `<?=` қолдану кодтың үйлесімділігі мен тасымалдануына байланысты қиындықтар туғызбайды.

PHP `<?php ?>` сияқты шектеуші тегтердің ішіндегі кодты орындайды. Шектеушілерден тыс орналасқан барлық мәтін өзгеріссіз шығарылады. Бұл көбінесе PHP кодын HTML құжатына кірістіру үшін қолданылады, мысалы:
 `<html>
    <head>
       <title>
          PHP-ті тестілеу
       </title>
    </head>
    <body>
       <?php echo 'Сәлем, әлем!'; ?>
    </body>
 </html>`
7.0-нұсқасына дейін PHP тілінде ASP бағдарламалау тілінің `<% %>` шектеушілерін және `<script language="php"> </script>` конструкциясын қолдануға рұқсат етілген. Қысқартылған конструкциялардың жұмысы `php.ini` конфигурациялық файлында анықталады.

Айнымалылар атауы `$` таңбасынан басталады, айнымалы типін алдын ала жариялау қажет емес. Айнымалылар мен тұрақтылардың атаулары регистрге (үлкен-кіші әріпке) сезімтал. Ал кластардың, класс әдістерінің және функциялардың атаулары регистрге сезімтал емес.

Айнымалылар қос тырнақшаға алынған жолдарда және heredoc-жолдарда (`<<<` операторы арқылы жасалатын жолдар) өңделеді. Бір тырнақшаға алынған жолдарда және nowdoc жолдарында айнымалылар өңделмейді.

Нұсқаулар (инструкциялар) нүктелі үтір (`;`) арқылы бөлінеді, тек кейбір жағдайларды қоспағанда (мысалы, `if/else` конструкциялары мен циклдерден кейін).

Функцияға айнымалыларды мәні бойынша да, сілтеме бойынша да беруге болады (сілтеме үшін `&` белгісі қолданылады).

PHP үш түрлі түсіндірме (комментарий) типін қолдайды:

* Си тіліндегі стиль (`/* ... */`),
* C++ стилі (`//` — жол соңына дейін),
* UNIX қабықшасы стилі (`#` — жол соңына дейін).

## Дереккөздер

* '''PHP және MySQL қазақша курсы,''' Қазақша IT сабақтары - Шынболат Жақсыбаев youtube арнасы.

Санат:Бағдарламалық жасақтама
Санат:PHP