PHP

Վիքիպեդիայից՝ ազատ հանրագիտարանից
PHP
Java-ի լոգոն

Կատարման ձև

Ինտերպրետատոր

Առաջացել է

1994 թ․

Հեղինակ(ներ)

Ռասմուս Լերդորֆ

Տիպիզացիա

Դինամիկ

Ընթացիկ տարբերակը

5.4.3 (8 մայիսի, 2012 թ․)

Կայքը

php.net

PHP-ն (անգլերեն՝ PHP: Hypertext Preprocessor — «PHP՝ Հիպերտեքստային Պրեպրոցեսսոր») ընդհանուր նշանակության սկրիպտային ծրագրավորման լեզու է[1], որն ինտենսիվ օգտագործվում է վեբ ծրագրավորման մեջ: Այժմ այն աջակցվում է հոսթինգ տրամադրող ընկերությունների ճնշող մեծամասնության կողմից և հանդիսանում է այն առաջատար ծրագրավորման լեզուներից մեկը, որոնք կիրառվում են դինամիկ վեբ-կայքեր ստեղծելու համար:[2]

Լեզուն և իր ինտերպրետատորը մշակվում են մի խումբ մարդկանց կողմից բաց կոդով նախագծի շրջանակներում:[3] Նախագիծը տարածվում է սեփական արտոնագրով, որն անհամատեղելի է GNU GPL-ի հետ:

Բովանդակություն

[խմբագրել] Կիրառման ոլորտները

Լեզվի պարզության, կատարման արագության, բազմաթիվ ֆունկցիաների և PHP արտոնագրով ընթացիկ կոդերի տարածման շնորհիվ, այսօր վեբ-ծրագրավորման ոլորտում PHP-ն աշխարհի ամենահանրահայտ սկրիպտային ծրագրավորման լեզուներից մեկն է:

Վեբ-կայքերի կառուցման ոլորտում ճանաչված լինելը պայմանավորված է վեբ-հավելվածների ստեղծման համար նախատեսված բազմաթիվ ներկառուցված միջոցների առկայությամբ: Դրանցից հիմնականներն են՝

Ներկայումս հարյուր հազարավոր ծրագրավորողներ օգտվում են PHP-ից: TIOBE կորպորացիայի վարկանշային աղյուսակի համաձայն [[2011] թվականի ապրիլի դրությամբ, ծրագրավորման լեզուների շարքում PHP-ն գտնվում է 5-րդ հորիզոնականում:[2] PHP օգտագործում են նաև բազմաթիվ հանրահայտ ընկերություններ, ինչպիսիք են Facebook-ը, VK-ը, Wikipedia-ն և այլն:

[խմբագրել] Պատմությունը

1994 թվականին Դանիացի ծրագրավորող Ռասմուս Լերդորֆը ստեղծեց Perl/CGI սկրիպտերի ընտրանի, որը պետք է հաշվեր և արտարծեր իր համացանցում տեղադրված ռեզյումեի այցելուների քանակը՝ մշակելով HTML-փոստաթղթերի նմուշները: Լերդորֆը այդ ընտրանին անվանեց Personal Home Page (Անձնական Տնային Էջ): Շուտով Perl-ի ինտերպրետատորի ունակություններն ու արագությունը սկսեց չբավարարել, և Լերդորֆը C ծրագրավորման լեզվի օգնությամբ մշակեց նոր նմուշների ինտերպրետատոր՝ PHP/FI (անգլերեն՝ Personal Home Page / Forms Interpreter — «Անձնական Տնային Էջ / Ֆորմաների ինտերպրետատոր») անվանումով:

1997-ին, երկարատև բետա-փորձարկումներից հետո վերջապես թողարկվեց C-ով գրված մշակչի երկրորդ տարբերակը՝ PHP/FI 2.0-ն: Այն օգտագործում էին ամբողջ աշխարհի բոլոր ինտերնետ-դոմեյնների շուրջ 1%-ը:

PHP 3.0 տարբերակը ենթարկվեց նշանակալի վերամշակման, որն սահմանեց ծրագրավորման լեզվի ժամանակակից տեսքն ու ոճը: 1997 թվականին երկու իսրայելացի ծրագրավորողներ՝ Էնդի Գութմանսը և Զեև Սուրավսկին, ինտերպրետատորի ամբողջ կոդն գրեցին նորից: PHP 3.0-ն պաշտոնապես թողարկվեց 1998հունիսին:

PHP 3.0-ի ուժեղ կողմերից մեկն այն էր, որ հնարավոր էր միջուկն ընդլայնել լրացուցիչ մոդուլների հաշվին: Դրա հետևանքով ընդլայնումների գրառման մեջերեսը իրենց սեփական մոդուլները գրող բազմաթիվ ծրագրավորողների ուշադրությունը հրավիրեց PHP-ի կողմը, ինչը PHP-ին հնարավորություն տվեց աշխատել բազմաթիվ տվյալների բազաների, կանխագրերի (անգլերեն՝ Protocol-ների) հետ, ապահովել բազմաթիվ API-ներ: Ծրագրավորողների մեծ թիվը բերեց լեզվի արագ զարգացման: Այս տարբերակից սկսած հապավումը կարդացվում է իբրև «PHP: Hypertext Preprocessor»:

1998 թվականի ձմռանը, PHP 3.0-ի թողարկումից անմիջապես հետո, Էնդի Գութմանսն ու Զեև Սուրավսկին սկսում են PHP-ի միջուկի վերամշակումը: Անհրաժեշտ էր մեծացնել բարդ հավելումների կատարողականությունը: Նոր շարժիչը, որն անվանվեց Zend Engine, կարողացավ հաղթահարել իրեն առաջադրված խնդիրները և առաջին անգամ ներկայացվեց 1999-ին: PHP 4.0-ն, որն հիմնված էր այդ շարժիչի վրա, իր հետ բերեց լրացուցիչ ֆունկցիաների մի ամբողջ հավաքածու և պաշտոնապես թողարկվեց 2000 թվականի մայիսին: Որպես կատարողականության մեծացմանը լրացում, PHP 4.0-ն ուներ նաև այլ նորամուծություններ, որոնցից էին սեսսիաները, արտարծման բուֆերացումը, օգտագործողի կողմից ներմուծած ինֆորմացիայի առավել անվտանգ մշակման գործիքներ և մի քանի նոր լեզվային կառույցներ:

PHP-ի հինգերորդ տարբերակը մշակողների կողմից թողարկվեց 2004 թ. հունիսի 13-ին: Փոփոխությունները ներառում էին Zend-ի միջուկի թարմացումը (Zend Engine 2), որն էապես մեծացրեց ինտերպրետատորի արդյունավետությունը: Ներառվեց XML նշագրման լեզվի աջակցությունը: Ամբողջությամբ վերամշակված էին OOP-ի բոլոր ֆունկցիաները, որոնք այժմ որոշ դեպքերում նման էին Java-ի կողմից օգտագործվող մոդելին: Մտցված էր Descructor-ը, բաց, փակ ու պաշտպանված մեթոդներն ու հատկությունները, օբյեկտենի մեջերեսն ու կլոնավորումը: Արդեն ավելի նոր տարբերակնում ավելացվել են նաև անվանատարածքները և մի ամբողջ շարք կարևոր փոփոխություններ, որոնք քանակապես և որակապես տարբերվում էին PHP 5.0-ում տեղ գտած փոփոխություններից:

PHP-ի վեցերորդ տարբերակի մշակումը սկսվել է 2006հոկտեմբերից, սակայն 2010մարտին PHP6-ի մշակումը համարվեց անհեռանկարային և դադարեցվեց: Այժմ մշակման հիմնական ուղղություն է համարվում PHP 5.4-ի մշակումը:

[խմբագրել] Շարահյուսությունը

PHP-ի շարահյուսությունը նման է C լեզվի շարահյութությանը: Որոշ տարրեր, ինչպիսիք են ասոցիացվող զանգվածները և foreach ցիկլը, վերցված են Perl-ից:

Ծրագրում փոփոխականներ օգտագործելուց առաջ դրանք նախապես հայտարարելու կարիք չկա: Ցանկացած ծրագիր կարող է սկսվել PHP-ի օպերատորից:

PHP-ով գրված Hello, world! ծրագիրն ունի հետևյալ տեսքը՝

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

PHP-ն կատարում է միայն այն կոդը, որը <?php ?>-ի սահմաններում է: Այն ամենը, ինչն այդ սահմաններից դուրս է գտնվում, արտարծվում է առանց փոփոխության: Հիմնականում դա օգտագործվում է HTML փաստաթղթում PHP կոդի տեղադրման համար: Օրինակ՝

<html>
 <head>
  <title>Փորձարկում ենք PHP-ն</title>
 </head>
 <body>
  <?php echo 'Hello, world!'; ?>
 </body>
</html>

Բացի <?php ?> սահմանիչներից, կարելի է օգտագործել նաև <? ?> և <script language="php"> </script> սահմանիչները, իսկ մինչև 6.0 տարբերակը, թույլատրվում է օգտագործել նաև ASP-ի սահմանիչները՝ <% %> (<? ?> և <% %> սահմանիչների աջակցությունը, ցանկության դեպքում, կարելի է անջատել ինտերպրետատորի php.ini ֆայլի միջոցով):

Փոփոխականների անվանումները սկսվում են $ նշանով: Փոփոխականի տեսակը հրապարակել պետք չէ: Փոփոխականների, ֆունկցիաների, հաստատունների և դասերի անվանումներում մեծատառերն ու փոքրատառերը հաշվի են առնվում: Փոփոխականները գործում են տողեում, որոնք " " չակերտների մեջ են առնված, ինչպես նաև Heredoc տողերում (այն տողերում, որոնք ստեղծվում են <<< նշանի միջոցով):

PHP-ն աջակցում է 3 տեսակի մեկնաբանություն՝ C-ի ոճով (բազմատողանի մեկնաբանություններ՝ սահմանափակված /*-ով և */-ով), C++ ծրագրավորմկան լեզվի ոճով (միատողանի մեկնաբանություններ, որոնք սկսում են //-ով և ավարտվում ենք տողը վերջանալով) և Unix-ի ոճով (միատողանի մեկնաբանություններ, որոնք սկսում են #-ով և ավարտվում ենք տողը վերջանալով):

PHP-ում հրահանգները բաժանվում են կետ-ստորակետներով (;): Այն դրվում է բոլորի հրահանգներից հետո, բացառությամբ որոշ դեպքերի՝ if/else կառույցների և ցիկլերի գրառումներից հետ, ինչպես նաև դրանց և դասերի / միջերեսների հրապարակումից հետո դրվող ձևավոր փակագծերից ({ և }): Օրինակ՝

// Դասից հետո դրվող ձևավոր փակագծերից հետո
class myClass {
    /* Դասի պարունակությունը */
} // Այստեղ կետ-ստորակետ չի դրվում
 
// Պայմանից հետո
if( $a === true ) // Այստեղ կետ-ստորակետ չի դրվում
    var_dump($a);
 
// Պայմանից հետո դրվող ձևավոր փակագծերից հետո
if( $a === true ) {
    var_dump($a);
} // Այստեղ կետ-ստորակետ չի դրվում
 
// Ցիկլից հետո
for( $i=0; $i <= 10; ++ $i ) // Այստեղ կետ-ստորակետ չի դրվում
    echo $i;
 
while( $i <= 10 ) // Այստեղ կետ-ստորակետ չի դրվում
    echo $i++;
 
foreach( $array as $key => $value ) // Այստեղ կետ-ստորակետ չի դրվում
    echo "$key => $value \n";
 
// Ցիկլից հետո դրվող ձևավոր փակագծերից հետո
for( $i=0; $i <= 10; ++ $i ) {
    echo $i;
} // Այստեղ կետ-ստորակետ չի դրվում
 
while( $i <= 10 ) {
    echo $i++;
} // Այստեղ կետ-ստորակետ չի դրվում
 
foreach( $array as $key => $value ) {
    echo "$key => $value \n";
} // Այստեղ կետ-ստորակետ չի դրվում

[խմբագրել] Տվյալների տեսակները

[խմբագրել] Ծանոթագրություն

  1. «PHP: Preface — Manual»։ Archived from the original on 2011-08-21։ http://www.webcitation.org/616XiJbXc։ 
  2. 2,0 2,1 TIOBE Software: Tiobe Index
  3. «History of PHP and related projects»։ Archived from the original on 2011-08-21։ http://www.webcitation.org/616XiuLEr։ 

Անձնական գործիքներ
Անվանատարածքներ

Տարբերակներ
Գործողություններ
Նավարկում
Մասնակցել
Գործիքներ
Այլ լեզուներով