PHP

Википедия дан
PHP
Семантика:

мультипарадигмалык

Аткарылуу тиби:

тип аткарылышынын интерпретатору[1][2]

Пайда болду:

1994

Автор(лору):

Расмус Лердорф

Релиз:

5.4.10 (Бештин айы 20 2012)

Маалыматтарды типизирлөө:

динамикалык

Таасир берип көрдү:

Perl, C, C++, Java

Сайт:

www.php.net

PHP (англ. PHP: Hypertext Preprocessor — «PHP: гипертекст препроцессору »; башында Personal Home Page Tools[3] — «Жеке веб баракчаларды түзүү аспабы ») — жалпы багыттагы программалоо скрипттик тил[4], интенсивдүүлүк менен веб-приложенияны түзүүдө колдонулуп атат. Азыркы убакытта басымдуу көпчүлүк хостинг-провайдерлери көтөрөт жана динамикалык сайтты түзүүчү программалоо тилдеринин арасынан лидердик орундардын биринде турат. [5]

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

Колдонуу чөйрөсү[түзөтүү | булагын түзөтүү]

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

Веб-сайттарды куруу обласытндагы поулярдуулук веб приложенияларды түзүү үчүн алдын ала отургузулган көп түрдөгү ыкмалар менен белгиленет.[7]. Алардын негизгилери:

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

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

GUI-приложенияларды түзүү[түзөтүү | булагын түзөтүү]

WinBinder форма редакторунун скриншоту
DevelStudio программалоо чөйрөсүнүн скриншоту

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

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

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

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

Синтаксиси[түзөтүү | булагын түзөтүү]

Калып:Уикикитеп 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 оболочкасы ( # баштап саптын аягына чейин).

Тарыхы[түзөтүү | булагын түзөтүү]

Негизги макала: PHP тарыхы

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_modemagic_quotes_gpc жана register_globals директивалары өчүрүлгөн. Эң башкы жана негизги жаңылоосу болуп Юникодду колдоосу болгон. Бирок 2010 жылдын мартында PHP6 түзүүсү, Юникодду колдоодо оорчулуктар чыгып келечексиз болуп таанылган. PHP6 баштапкы коду бутакка жылдырылган, а негизги түзүү линия болуп 5.4 версиясы калган.

CMS/CMF[түзөтүү | булагын түзөтүү]

Жаңылар жана попуялардуулар:

  • Kohana
  • Codeigniter
  • Yii
  • Zend Framework
  • Symfony
  • CakePHP
  • FuelPHP
  • Drupal
  • Joomla
  • WordPress

Тиркемелер[түзөтүү | булагын түзөтүү]

Дагы караңыздар[түзөтүү | булагын түзөтүү]

Шилтемелер[түзөтүү | булагын түзөтүү]