PHP

PHP ( — «PHP: гипертекст препроцессору »; башында PHP: History of PHP — Manual — «Жеке веб баракчаларды түзүү аспабы ») — жалпы багыттагы программалоо скрипттик тил, интенсивдүүлүк менен веб-приложенияны түзүүдө колдонулуп атат. Азыркы убакытта басымдуу көпчүлүк хостинг-провайдерлери көтөрөт жана динамикалык сайтты түзүүчү программалоо тилдеринин арасынан лидердик орундардын биринде турат. TIOBE Software: Tiobe Index

Тил жана анын интерпретатору ачык код проектисинде энтузиасттар группасы менен түзүлүп атат. Проект өзүнүн жеке лицензиясы менен таралат, жана ал GNU GPL менен дал келишпейт. Долбоор өзүнүн жеке лицензиясы менен таралат, жана GNU GPL менен дал келишпейт.

 Колдонуу чөйрөсү 
Интернет тармагы үчүн программалоо областында PHP - эң популярдуу скрипттик тилдердин бири (JSP, Perl жана ASP.NET тилдери менен бр катарда), өзүнүн жөнөкөйлүгү, аткаруу ылдамдыгы, бай мүмкнүчүлүктөрү, кроссплатформалыгы жана PHP лицензиясы менен баштыпкы кодун жайылтууда.

Веб-сайттарды куруу обласытндагы поулярдуулук веб приложенияларды түзүү үчүн алдын ала отургузулган көп түрдөгү ыкмалар менен белгиленет.. Алардын негизгилери:
 автоматикалык бөлүп алуучу POST жана GET-параметрлери, жана веб-сервердин айланасындагы өзгөрүлмөлөр алдын ала алынган массивдер менен;
 көп түрдүү база маалыматын башкаруучу системдер менен байланышуусу  (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape жана Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
 автоматизирленген жөнөтүүчө HTTP-аталыштар;
 HTTP-авторизация менен иштөө;
 cookies жана сессиялар менен иштөө;
 локалдык жана четтетилген файлдар сокеттер менен иштөөдө ;
 серверге жүктөлгөн файлдарды иштеп чыгууу;
 XForms менен иштөө.

Азыркы учурда PHP жүз миңдеген түзүүчүлөр колдонот. TIOBE корпорациясынын, издөө системдерине байгытталган рейтингине ылайык, декабрдын 2012 PHP программалоо тилдердин 6 орунунда турган.  PHP колдонгон ири сайттардын арасына Facebook, Wikipedia жана башкалар кирет.

LAMPка кирет - кеңири таралган веб-сайттардын хостингдерине (Linux, Apache, MySQL, PHP) жасалган программдык жабдуу.

 GUI-приложенияларды түзүү 
PHP мындай тармакта кеңири таралбаса дагы, бирок аны GUI-приложенияларды түзүүдө да колдонсо болот.

Кроссплатформалык приложенияларды түзүү үчүн PHP-GTK жана PHP-Qt пакеттери кызмат кылат, алар популярдуу виджеттер китепканасын түзүшөт.

Windows үчүн графикалык приложенияларды түзүү үчүн атайын бекер WinBinder пакети бар (Си тилинде жазылган, фактикалык түрдө — WinAPI үчүн каптама) жана алакалашкан чөйрө Devel Studio.

Жана дагы .NET/Mono — Phalanger үчүн PHP реализациясы бар, PHP кодунун жыйынтыгы болуп Phalanger-де ар кандай .NET-приложение болушу мүмкүн, олуттуу же колдонмо болсо дагы.

 Синтаксиси  
thumb

PHP тилинин синтаксиси Си программалоо тилине окшош. Кээ бир элементтер, ассоциативдик массивдер жана foreach 
цикли Perl тилинен алынган.

Пограммдын иштешине атайы бир алмашмаларды, колдонулчу модулдарды түшүндүрүп кереги жок ж.б.у.с. Ар бир программ PHP опрератору менен баштала берсе болот.  

PHP деги жөнөкөй программ мындай болуп жазылат:

<?php
  echo 'Hello, world!'; 
?>

Саптын кыска вариантта да жазса болот:
<?= 'Hello, world!' ?>
<?= түзүлүшүндөгү ачылуучу тег саптын чыгуу түрүн кыскартуу конструкциясы катары  колдонулат.

PHP <?php ?> деген чектөөлөрдүн ичинде турган кодду аткарат. Чектөөнүн сырткары турган калган баары, эч өзгөрүлүүсүз чыгат. Негизи мындайлар HTML-документке PHP-кодду кошууда колдонулат. Маселен:
<html>
 <head>
  <title>PHP - ни тестирлөө</title>
 </head>
 <body>
  <?php echo 'Hello, world!'; ?>
 </body>
</html>
<code><?php ?></code> чектөөөлөрдөн сырткары, кошумча варианттарды колдонгонго уруксат бар, мисалы <code><? ?></code> жана <code><script language="php"> </script></code>. Мындан сырткары  6.0 версияг чейин ASP программалоо тилиннин <code><% %></code> (конструкциялар <code><? ?></code> жана <code><% %></code> php.ini конфигурациялык файлдан кошсо болот). чектөөлөрүн колдонгонго уруксат берилет.

Өзгөрүлмөлөрдүн аталыштары <tt>$</tt> символунан башталат, өзгөрүлмөнүн тибин жарыялап кереги жое. Өзгөрүлмөлөрдүн, функициялардын жана класстардын аталыштары регистрге сезимталдуу. Константалар да регистрге сезимталдуу. Өзгөрүлмөлөр апострофтордо жана экилик тырмакчаларда жана  heredoc (<<< операторунун жардамы менен жасалган саптарда)-саптарда иштешет.

PHP жаңы сапка кенемте аркылуу HTML жана башка бош форматтагы тилдер сыяктуу кылып өтүүнү кароодо. Инструкциялар үтүрү бар чекит (;) аркылуу бөлүнөт, if/else жана цикл констукрцарияларынан башкасы. 

Функцияда өзгөрүлмөлөрдү маанисине жана шилтемеге(& - белгиси колдонулат) жараша бере берсе болот. 

PHP үч типтеги пикирлерди колдойт: Си тилинин стилинде (чектөөлөр /* */), C++ (// башталып саптын аягына чейин барат)  жана UNIX оболочкасы ( # баштап саптын аягына чейин).

 Тарыхы 

1944 жылы Дат программисти Расмус Лердорф, Perl/CGI тилинде анын онлайн-резюмесининин колдонуучуларынын эсебин жана чыгаруусун, HTML-документтеринин калыптарын иштетүүнү талап кылуучу скриптик тилдеринин чогулмасын жасайт. Лердорф чогулманы Personal Home Page (Жеке үй баракчасы) деп атаган. Кийинчерээк Perl-дин функционалдуулугу жана ылдамдыгы - скрипт инттерпретаторунун - жетишпегендиктен Лердорф Си тилин колдонуп жаңы калыптардын PHP/FI (англ. Personal Home Page / Forms Interpreter — «Жеке үй баракчасы / Формалар Интерпретатору»). интерпретаторун түзгөн.

1997 жылы көп убакыттык бета-тестирлөөдөн киийн иштеткичтин Cи тилинде жазылган — PHP/FI 2.0 экинчи версиясы чыкты. Аны болжол меенен жалпы дүйнөдөгү домендеринин 1%( болжолдуу 50 миң) колдонгон.

PHP 3.0 версиясы кыйла оңдоолорго алынып, азыркы заманбап кейиби жана программалоо тилинин стили аныкталган. 1997 жылы эки израилдик программистер, Энди Гутманс жана Зеев Сураски, интерпретатордун кодун кайра толук жазып чыгышкан. PHP 3.0 расмий түрдө 1998 жылдын июнь айында чыккан.

PHP 3.0 эң күчтүү жагы болуп, өзөгүнүн кошумча модулдар аркылуу кеңейлиши мүмкүнчүлүгү бар эле. Кийинчерээк PHP-ге кеңейтүүнү жазган интерфейс,көптөгөн башка четтик түзүүчүлөрдү тарткан, ал болсо PHP -ге аябагандай көптөгөн база маалыматтары, протколдор, көптөгөн сандагы API колдоого мүмкүнчүлүк түзүлгөн. Көптөгөн сандагы түзүүчүлөрдүн иштөөсү тилдин тез өнүгүүсүнө жана жана ылдамдуу популяардуулугуна шар түзүлгөн. Ушул версиясынан баштап php акроними мындай чечмеленип калган:«PHP: hypertext Preprocessor», мурдакы эскиси «Personal Home Page».

1998 жылдын кышында, PHP 3.0 расмий чыгышынан кийин дароо Энди Гутманс жана Зеев Сураски PHP-нин өзөгүн кайра оңдоп түзөөнү башташат. Маселеге оор тиркемелердин ылдамдыгы жана PHP кодунун модулдуу базисин мыктылоо кирген. Zend Engine деп аталган жаңы кыймылдаткыч койулган маселелерди  ийгиликтүү аткара алган жана 1999 жылдын ортосунда жарыяланган. Ушул кыймылдаткычта негизделген  PHP 4.0 версиясы бир нече жаңы ачкычтуу жаңыланууларды камтыган, мисалы: сессияларды колдоо, чыгуулардын буферизациясы, колдонуучу аркылуу кирген маалыматтарды коопсуздуу иштетүү жана жаңы бир нече тил конструкцияларын.

PHP -нин бешинчи версисясы түзүүчүлөр аркылуу 2004 жылдын 13 июлунда жарыяланган. Алмаштыруулар буларды камтыган,  Zend (Zend Engine 2) өзөгүн жаңылоо, бул болсо интерпретатордун эффективдүүүлүгүн көтөргөн. XML разметка тилин колдоону киргизүү. ОБП функцяиларын толук кайра иштеп чыгуу, бул болсо Java-да колдонулган моделге кыйла окшош калган. Көбүн эсе, деструктор, ачык, жабык, коргонулган мүчө жана ыкмалар кирген, акыр аягында мүчө жана ыкмалар, интерфейстер жана объектерди клондоо. Кийинки кирген версияларында аталыштардын мейкиндиктери, кулптоо жана бир катар олуттуу өзгөрүлөр, сандуу жана сапаттуулар PHP 5.0 -гө өтүп атканда 2004 жылы 13 июлунда пайда болушкан. 

PHP - нин алтынчы версиясы 2006 жылдын октябрынан баштап түзүлө баштаган. Көптөгөн жаңылоор киргизилген, мисалы, регулярдуу туяютмалардын өзөгүнөн POSIX жана «узун» суперглобалдуу массивдердин четтетилиши, php.ini конйигурациялык айлдан safe_mode, magic_quotes_gpc жана register_globals  директивалары өчүрүлгөн. Эң башкы жана негизги жаңылоосу болуп Юникодду колдоосу болгон. Бирок 2010 жылдын мартында PHP6  түзүүсү, Юникодду колдоодо оорчулуктар чыгып  келечексиз болуп таанылган. PHP6 баштапкы коду бутакка жылдырылган, а негизги түзүү линия болуп 5.4 версиясы калган.

 CMS/CMF 
Жаңылар жана попуялардуулар:
 Kohana
 Codeigniter
 Yii
 Zend Framework
 Symfony
 CakePHP
 FuelPHP
 Drupal
 Joomla
 WordPress

 Тиркемелер 

 Дагы караңыздар 
 phpDocumentor
 PHP акселератору
 PEAR
 PECL
 PHP-инъекция
 PHP-Qt
 PHP-GTK

 Шилтемелер 
 PHP расмий сайты 
 PHP боюнча колдонмо  (включая FAQ)
 PHP  на Ohloh
 Php 5.5 альфа версиясы чыкты 
 snippets.su  — php код мисалдары

Категория:PHP
Категория:Веб программалоо тилдери
Категория:Ачык компилятор жана интерпретаторлор
Категория:Скрипттик тилдер