РНР тілінде және қолдануда. Бірінші программалау тілі

PHP (Гипермәтіндік препроцессор) серверлік веб-бағдарламалаудың ең танымал құралдарының бірі болып табылады. РНР жұмысы қарапайым түрде клиенттің http сұранысын өңдеуге дейін жетеді. Сұранысты өңдеу өз кезегінде сұраныс параметрлеріне сәйкес программалық түрде генерацияланатын гипермәтіннен тұрады, содан кейін алынған белгі клиентке қайтарылады. Клиент (Интернет браузері) тұрақты статикалық Интернет бетін (көбінесе html кеңейтімі бар) сұрағанда, сервер осы беттің мазмұнын жауап ретінде «сол қалпында» өзгеріссіз қайтарады. Егер РНР беті сұралса, онда сұранысты өңдеу кезінде көрсетілген беттің мазмұны алдымен РНР интерпретаторымен өңделеді, содан кейін ғана осы өңдеудің нәтижесі клиентке жіберіледі.

Басқа сөзбен, РНР гипермәтіндік препроцессор болып табылады, оның атауында көрсетілгендей. Алдын алапроцессор, өйткені гипермәтін клиент жағында соңғы өңдеуден өтеді, оның нәтижесін браузер терезесінде көреміз (браузердің өзі гипермәтіндік процессор). РНР гипермәтіндік генератор деп айта аламыз, өйткені оның жұмысы көп жағдайда деректер қорының мазмұнынан немесе серверде орналасқан кез келген басқа құрылымдық ақпараттан бағдарламалық генерациялау болып табылады. Аббревиатура PHP сияқты көрінеді, мысалы, ГЭС немесе басқаша емес, өйткені ол бастапқыда Жеке басты бет құралдары– жеке интернет беттерін құру құралдары. Осылайша, PHP шифрын шешудің бірінші нұсқасы оның мақсатын көрсетті, ал қазіргісі жұмыс принципін көрсетеді.

РНР – программалау тілі, ол барлығын дерлік қолдайды: айнымалылар, шартты мәлімдемелер, циклдар, функциялар және т.б. PHP бұл объектіге бағытталған бағдарламалау тілі– ол класс деңгейінде кәдімгі тұқым қуалаушылық сияқты қолдайды. РНР веб-бағдарламалау тілі болып табылады, өйткені ол ең алдымен динамикалық интернет-сайттарды әзірлеу үшін жасалған және сондықтан осы салада қолданылатын көптеген дайын шешімдерді қамтиды, мысалы:

  • параметрлерді өңдеу және алу http сұраулары GET және POST;
  • қалыптастыру және жіберу http тақырыптары;
  • сақтау инфрақұрылымы сеанс деректері;
  • жұмыс істеуге арналған бағдарламалық қамтамасыз ету қызметтері печенье;

    печенье- көбінесе кіру параметрлерін (логин мен пароль) немесе пайдаланушының жеке параметрлерін қамтитын клиенттің компьютерінде браузер арқылы сақталған мәтіндік деректер. Cookie файлдары браузер арқылы жасалады және әрбір қашықтан қол жеткізу кезінде HTTP сұрау тақырыптарында серверге автоматты түрде жіберіледі.


  • файлдармен жұмыс істеу FTP протоколы;
  • пайдалана отырып, мәліметтер қорымен жұмыс істеу;
  • қолдау көрсету
  • қолдау көрсету HTTP авторизациясы;
  • электрондық пошта арқылы хабар алмасу және т.б.

Бұл бөлімде мен қарапайым веб-қосымшаларды жасау үшін PHP қолданудың негізгі тұстарын қысқаша шолуды жоспарлап отырмын. Материалдар бірнеше бөлімдерге бөлінеді, олардың әрқайсысында бастапқы коды бар мысалдар болады. Тәуелсіз эксперименттер үшін сізге толық рұқсаты бар кез келген басқа сайт қажет және оның серверінде PHP орнатылған.

РНР бағдарламалау негіздері

РНР кодын белгілеуге және гипермәтіндік препроцессордың нәтижесіне қосу

PHP коды HTML белгілеуінің кез келген жеріне тікелей қосылады. HTML белгілеуінің өзі мүлде болмауы мүмкін және беттің бастапқы коды тек PHP бағдарламасының фрагменті арқылы ұсынылуы мүмкін. Кез келген жағдайда РНР енгізу үшін арнайы тегті пайдаланып, оның ішіне бағдарлама мәтінін орналастыру керек. Бұл келесідей орындалады:

бағдарлама коды ?>

РНР интерпретатор бөлімінің жұмысы кезіндеоларда орналасқан бағдарлама кодының жұмыс істеуі нәтижесінде жасалған белгілеумен ауыстырылады. Препроцессордың нәтижесін көрсету үшін оператор қолданылады жаңғырық, олардың аргументтері тұрақтылар, айнымалылар, функциялар немесе өрнектердің әртүрлі түрлері болуы мүмкін, ал нәтиже мәтін болып табылады. Ең қарапайым нұсқа келесідей болуы мүмкін:

"; ?>

Егер сіз шолғышта алынған беттің бастапқы кодын ашсаңыз, онда бұдан былай PHP болмайды (әрине, серверде PHP интерпретаторы орнатылмаған болса). Эхо операторын осылай пайдаланудың мағынасы жоқ. РНР сұлулығы мынада, жасалған HTML сұрау параметрлеріне, дерекқор мазмұнына, қауіпсіздік саясаттарына және т.б. тәуелді болуы мүмкін. Мұның бәрін талдау және өңдеу барлығына дерлік таныс, циклдар, шарттар, функциялар және т.б. Болашақта гипермәтіндік препроцессор туралы бастапқы түсінік толық болуы үшін цикл мен шартты операторды пайдаланатын РНР бағдарламасының шағын мысалын келтіремін. Келесі бағдарлама 1-ден 9-ға дейінгі сандардың факторлық мәндерін басып шығарады.

РНР тіліндегі бағдарламаның мысалы Бұл белгілеу PHP интерпретаторымен бағдарламалық түрде жасалады."; $f=1; үшін ($i=1; $i<10; $i++) { if ($i>1) $f=$f*$i; echo $i,"!=",$f,"
"; } ?>


Оның жұмысының нәтижесі браузерде келесідей болады:

1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880

Бірнеше PHP файлдарынан қолданбаны ұйымдастыру

Қысқаша шартты немесе үштік оператор

Төменде үштік операторды қолданатын шартты тағайындау операторының жалпы көрінісі берілген:
$нәтиже = шарт? өрнек егер ақиқат болса: өрнек жалған болса;

Мысалы:
$нәтиже = ($a>5) ? $a+$b: $a-$b;

Егер a 5-тен үлкен болса, онда нәтиже айнымалысына a+b мәні тағайындалады, әйтпесе a-b.

Көбірек elseif конструкциялары бар if операторына балама. Операцияларды орындау мәні өрнектің мәніне сәйкес келетін жағдай бөлімінен басталады және үзіліс командасы кездескенше барлық келесі жағдайлар арқылы жалғасады - толық орындау. Әдепкі бөлім шартты мәлімдемедегі else бөліміне балама болып табылады.

Ауыстыру ( өрнек) (жағдай мән 1: оператор 1; іс мән 2: оператор 2; іс мән 3: оператор 3; әдепкі: әдепкі оператор; ) жасаңыз цикл денесі; кезінде ( жағдай);

Дәл осындай мысал:

$i=2; $f=1; істеу ( $f=$f*$i; $i++; echo $i,"!=",$f,"
"; ) while ($i<10);

туралы толығырақ істеу... while цикліоқыңыз.

Массивтегі элементтерді немесе foreach операторын айналдыру

Массивтер туралы бөлек бірнеше сөз айтылады және төменде оның элементтерін циклде қайталауға арналған құрылым берілген:

Әрқайсысы үшін ( массивдоллар ретінде элемент) $element айнымалысымен бірдеңе жасайтын өрнек;

$мәндер = массив("for", "while", "do", "foreach"); echo "PHP ішіндегі циклдар:","
"; foreach ($оператор ретінде $мәндер) echo $операторы,"
";

PHP-дегі циклдар мен таңдау операторы, сонымен қатар көптеген басқа бағдарламалау тілдеріндегі нұсқауларды қолдау үзіліс– циклдің ерте аяқталуы және жалғастыру– циклдің ағымдағы итерациясын ерте аяқтау (цикл басына көшу). Олар туралы толығырақ оқыңыз.

Жалпы түсініктер

РНР тілі веб-бағдарламалау үшін арнайы жасалған. РНР C және Perl тілдерінің артықшылықтарын біріктіреді және үйренуге өте оңай және дәстүрлі бағдарламалау тілдерінен айтарлықтай артықшылықтарға ие.

РНР синтаксисі Си тілінің синтаксисіне өте ұқсас және негізінен Java және Perl сияқты тілдерден алынған.

Си тіліндегі бағдарламашы PHP тілін өте тез меңгереді және оны максималды тиімділікпен пайдалана алады.
Негізінде, PHP-де барлық дерлік операторлар мен функциялар стандартты GNU C (немесе олардың аналогтары) қол жетімді, мысалы, циклдар (while, for), таңдау операторлары (if, switch), файлдық жүйемен жұмыс істеу функциялары және процестер (fopen, *dir, stat, unlink, popen, exec), енгізу/шығару функциялары (fgets, fputs, printf) және т.б.

Бұл бөлімнің мақсаты – РНР тілінің негізгі синтаксисін қысқаша таныстыру. Сіз PHP синтаксисінің нақты құрамдас бөліктері туралы толығырақ ақпаратты тиісті бөлімдерден таба аласыз.

PHP және HTML

Кез келген бағдарламалау тілінің синтаксисін кейбір диаграммалар мен диаграммаларды пайдаланудан гөрі мысалдар арқылы «сезіну» оңайырақ. Сондықтан, PHP-дегі қарапайым сценарийдің мысалы:



Мысал

жаңғырық "Сәлеметсіз бе, мен PHP сценарийімін!";
?>




Сіз бұл бағдарламалау тілін үйренуге болатын классикалық сценарий екенін байқаған боларсыз.

HTML коды PHP интерпретаторымен дұрыс талданғанын ескеріңіз.

Сценарийдің басы сізді таң қалдыруы мүмкін: бұл сценарий ме? HTML тегтері қайдан келеді? Және ? PHP тілінің негізгі мүмкіндігі (айтпақшы, өте ыңғайлы) осында жатыр: PHP сценарийі қарапайым HTML құжатынан мүлде ерекшеленбеуі мүмкін.

Ілгері жүру. Сценарий кодының өзі ашу тегінен кейін басталатынын болжаған боларсыз және жабылумен аяқталады ?> . Сонымен, осы екі тегтің арасында мәтін бағдарлама ретінде түсіндіріледі және HTML құжатында аяқталмайды. Егер бағдарлама бірдеңені шығару керек болса, ол echo операторын пайдалануы керек.

Сонымен, РНР бағдарлама блоктарынан тыс орналасқан кез келген мәтін шектеулі болатындай етіп жасалған Және ?> , браузерге тікелей шығарылады. Бұл Perl және C тілдерінен айырмашылығы РНР негізгі ерекшелігі, мұнда шығару стандартты операторлар арқылы жүзеге асырылады.

Нұсқауды бөлу

Нұсқаулар C немесе Perl тіліндегідей бөлінеді - әрбір өрнек нүктелі үтірмен аяқталады.

Жабу тегі (?>) сонымен қатар мәлімдеменің соңын білдіреді, сондықтан келесі екі код үзінділері баламалы:

echo «Бұл сынақ» ;
?>

РНР сценарийлеріндегі түсініктемелер

Кез келген сценарийді жазу түсініктемесіз аяқталмайды.

PHP C, C++ және Unix қабықша түсініктемелерін қолдайды. Мысалы:

echo «Бұл сынақ» ; // Бұл C++ стиліндегі бір жолды түсініктеме
/* Бұл көп жолды түсініктеме
тағы бір түсініктеме жолы */
жаңғырық «Бұл тағы бір сынақ»;
echo «Соңғы сынақ» ; # Бұл Unix қабықша стиліндегі түсініктеме
?>

Бір жолды түсініктемелер тек жолдың соңына немесе PHP кодының ағымдағы блогына, қайсысы олардың алдында келсе, барады.

Бұл мысал.


Жоғарғы жағындағы тақырып «Бұл мысал» деп жазылады.

Кірістірілген «С» түсініктемелерінен сақ болыңыз, себебі олар үлкен блоктарға түсініктеме бергенде пайда болуы мүмкін:

/*
echo «Бұл сынақ»; /* Бұл түсініктеме қиындық тудырады */
*/
?>

Бір жолды түсініктемелер тек жолдың соңына немесе PHP кодының ағымдағы блогына, қайсысы олардың алдында келсе, барады. Бұл // ?> кейінгі HTML коды басып шығарылатынын білдіреді: ?> PHP режимінен шығып, HTML режиміне оралады, бірақ // бұған жол бермейді.

РНР тіліндегі айнымалылар

Айнымалы атаулар арқылы көрсетіледі $ . Дәл сол «Сәлеметсіз бе, мен PHP скриптімін!» келесідей алуға болады:

$хабарлама= "Сәлеметсіз бе, мен PHP сценарийімін!";
echo $хабарлама;
?>

РНР тіліндегі деректер түрлері

PHP сегіз қарапайым деректер түрін қолдайды:

Төрт скаляр түрі:

Логикалық (екілік деректер)
- бүтін (бүтін сандар)
- қалқымалы (жылжымалы нүкте сандары немесе «қос»)
- жол (жолдар)

Екі аралас түрі:

Массив
- объект (объектілер)

Және екі ерекше түрі:

ресурс
NULL («бос»)

Сондай-ақ бірнеше псевдотиптер бар:

Аралас
- сан (сандар)
- қайта телефон соғу

PHP тіліндегі деректер түрлері туралы көбірек біліңіз

РНР тіліндегі өрнектер

Өрнектің негізгі формалары тұрақтылар мен айнымалылар болып табылады. Мысалы, «$a = 100» деп жазсаңыз, $a айнымалысына «100» тағайындайсыз:

Жоғарыдағы мысалда $a - айнымалы, = тағайындау операторы және 100 - өрнек. Оның мәні 100.

Өрнектің өзімен байланысты белгілі бір мәні болса, айнымалы да болуы мүмкін:

$x = 7;
$y = $x;

Қарастырылған мысалдың бірінші жолында өрнек тұрақты 7, ал екінші жолда - айнымалы $x, өйткені ол бұрын 7-ге орнатылған болатын. $y = $x сонымен қатар өрнек болып табылады.

Сіз PHP тіліндегі өрнектер туралы көбірек біле аласыз

РНР операторлары

Оператор - бұл жаңа мән ретінде бағаланатын бір немесе бірнеше мәндерден (бағдарламалау жаргонындағы өрнектер) тұратын нәрсе (осылайша, бүкіл құрылымды өрнек деп санауға болады).

PHP мәлімдемелерінің мысалдары:

Тағайындау операторлары:

$a = ($b = 4 ) + 5 ; // нәтиже: $a 9 мәніне орнатылды, $b айнымалысына 4 тағайындалды.

?>

Біріктірілген операторлар:

$a = 3 ;
$a += 5 ; // $a мәнін 8-ге орнатады, жазуға ұқсас: $a = $a + 5;
$b = "Сәлеметсіз бе" ;
$b .= "Онда!" ; // $b = $b сияқты "Сәлеметсіз бе!" жолына $b орнатады. «Ана жерде!»;

?>

Жол операторлары:

$a = "Сәлеметсіз бе" ;
$b = $a . «Әлем!» ; // $b жолында "Hello World!"

$a = "Сәлеметсіз бе" ;
$a .= "Әлем!" ; // $a жолында "Hello World!"
?>

Логикалық операторлар мен салыстыру операторлары да бар, бірақ олар әдетте тілді басқару құрылымдарының контекстінде қарастырылады.

Сіз PHP операторлары туралы толық ақпаратты таба аласыз.

РНР тілінің басқару құрылымдары

РНР тілінің негізгі құрылымдары:

  1. Шартты сөйлемдер (егер, басқа болса);
  2. Циклдер (while, do-while, for, foreach, үзу, жалғастыру);
  3. Таңдау конструкциялары (қосқыш);
  4. Декларация конструкциялары (жариялау);
  5. Құрылымдарды қайтару;
  6. Қосу конструкциялары (талап ету, қосу).

РНР тілінің конструкцияларының мысалдары:

егер ($a > $b) жаңғырық «a мәні b-дан үлкен»;
?>

Жоғарыда келтірілген мысал дизайнның қолданылуын анық көрсетеді егерсалыстыру операторымен бірге ($a > $b).

Келесі мысалда айнымалы болса $aнөлге тең емес, «a мәні ақиқат» жолы басып шығарылады, яғни шартты оператордың (құрылымның) өзара әрекеті, егер логикалық оператормен көрсетілсе:

егер ($a) жаңғырық «a мәні ақиқат»;
?>

Міне, while циклінің мысалы:

$x = 0 ;
ал ($x++< 10 ) echo $ x ;
// 12345678910 басып шығарады
?>

Сіз барлық РНР басқару құрылымдары туралы ақпаратты ала аласыз

РНР тіліндегі теңшелетін функциялар

Кез келген бағдарламалау тілінде ішкі бағдарламалар бар. Си тілінде олар функциялар деп аталады, ассемблер тілінде олар ішкі бағдарламалар деп аталады, ал Паскаль тілінде ішкі бағдарламалардың екі түрі бар: процедуралар және функциялар.

РНР тілінде мұндай ішкі бағдарламалар бар.

Ішкі программа – бұл бағдарламаның кез келген жерінен кіруге болатын бағдарламаның арнайы жасалған фрагменті. Ішкі бағдарламалар бастапқы кодтың оқылуын жақсарту және оны қысқарту арқылы бағдарламашылардың өмірін айтарлықтай жеңілдетеді, өйткені жеке код фрагменттерін бірнеше рет жазу қажет емес.

Міне, PHP тіліндегі теңшелетін функцияның мысалы:

функция функциясы() (
$a = 100 ;
жаңғырық»

$a

" ;
}
функция();

?>

Сценарий 100 шығарады:

РНР-де пайдаланушы анықтайтын функцияларға аргументтерді беруге және функциялардан қайтарылатын мәндерді алуға болады.

Сіз PHP теңшелетін функциялары туралы толық ақпаратты таба аласыз

Кірістірілген (стандартты) PHP функциялары

PHP әр түрлі күрделілік деңгейіндегі тапсырмаларды орындай алатын кіріктірілген функциялардың үлкен санын қамтиды.

OOP және PHP

РНР объектіге бағытталған бағдарламалауды (OOP) жақсы қолдауға ие.

РНР тілінде әртүрлі деңгейдегі, объектілердің кластарын жасауға және олармен икемді жұмыс істеуге болады.

Міне, PHP класының мысалы және оны пайдалану:

// Жаңа Coor класын жасаңыз:
Coor класы (
// деректер (қасиеттер):
var$name;

// әдістері:
Getname() функциясы (
жаңғырық»

Джон

" ;
}

}

// Coor класының объектісін жасаңыз:
$объект = newCoor;
// Сынып мүшелеріне рұқсат алу:
$ объект -> аты = "Алекс" ;
echo $object -> name ;
// «Алекс» басып шығарады

Егер сізде басқа сұрақтар болса немесе түсініксіз болса - біздің сайтқа қош келдіңіз

Бұл сайтта қазірдің өзінде туралы мақалалар бар және берілген. Енді біз PHP деген не екенін айтатын боламыз.

PHP дегеніміз не және онымен не істеуге болады?

Бұл PHP тіліне оңай кіріспе PHP негіздерін түсіндіреді және оны қалай жасауға болатынын түсіндіреді. бай веб-беттер мен қолданбаларды жасау үшін пайдаланыңыз. РНР – қолдануға болатын бағдарламалау тілі веб-қосымшаларды жазуға арналған. Веб-қосымша қарапайым «бізбен байланысу» пішінінен толыққанды блог жүйесіне, интернет-дүкенге немесе форумға дейін кез келген нәрсе болуы мүмкін. Көбірек .

PHP – серверлік тіл

РНР ретінде белгілі серверлік бағдарламалау тілі. Бұл дегеніміз ол веб-серверде жұмыс істейді. Көптеген веб-бағдарламалау тілдері серверлік тілдер болып табылады, бірақ кейбіреулері, JavaScript сияқты, клиенттік болып табылады, яғни олар веб-шолғышта жұмыс істейді.

Сервер жағындағы тілдер сізге көбірек икемділік береді, себебі сіз JavaScript көмегімен файлдармен, дерекқорлармен жұмыс істеу немесе кескіндермен жұмыс істеу сияқты қиын нәрселерді жасай аласыз. Айта кету керек, бұл күндері JavaScript өте тез тарады.

Сервер жағында кодты орындау JavaScript сияқты клиентке қарағанда қауіпсіз әдіс болып табылады. JavaScript коды веб-шолғышқа жіберілгендіктен, сайтқа кірушілер көру және өңдеу оңай. Тіпті сайттың бір бетінде сіз оңай жасай аласыз. Сервер жағындағы код веб-серверде қалады және торап келушілеріне қолжетімді емес. РНР веб-серверде орналасқан және сол жерде PHP сценарийлерін орындайтын құрал.

РНР – бұл ашық бастапқы бағдарламалық құрал

PHP бұл ашық бастапқы бағдарламалық қамтамасыз ету. Бұл кез келген қолданушы PHP-ге қол жеткізе алады және жұмыс істей алады дегенді білдіреді. Бұл PHP ұзақ уақыт жұмыс істейтініне кепілдік береді. PHP тегін жүктеп алуға және пайдалануға болады. Бұл көптеген хостинг провайдерлерінің PHP-ді кеңінен пайдалануының себебі. Сіз веб-хосттардың басым көпшілігі PHP тілін қолдайтынын көресіз.

РНР веб-қосымшаларды жасауға бағытталған

Көптеген бағдарламалау тілдері веб-қосымшаларды жасау үшін пайдаланылуы мүмкін болса да, PHP Интернетте пайдалану үшін арнайы жасалған тілдердің бірі болып табылады. PHP-де көптеген пайдалы веб-функциялар бар, мысалы:

  • Веб пішіндері мен cookie файлдарын оқу және өңдеу
  • Графиканы құру және онымен жұмыс істеу функциялары
  • сияқты танымал дерекқорлармен байланыс орнату
  • -мен жұмыс істеуге арналған функциялар.

Сіз PHP кодын HTML кодымен араластыра аласыз

РНР-дің тамаша мүмкіндіктерінің бірі HTML беттеріне РНР код блоктарын қосуға болады.

Арнайы таңбалар арқылы PHP блоктарын бөлуге болады. Веб-сервер бет туралы ақпаратты алған кезде,
барлық РНР блоктары PHP қозғалтқышымен орындалады, ал беттің басқа бөліктері браузерге «сол қалпында» жіберіледі.

Бұл мүмкіндік кәдімгі веб-беттерді интерактивті етуді жеңілдетеді. Ұқсас функционалдығы бар байланыс пішіндері мен пішіндеріне арналған тамаша құрал.

PHP қолдану

Сіз кез келген дерлік веб-бағдарлама немесе сценарий түрін жазу үшін PHP пайдалана аласыз. Жалпы РНР қолданбаларына мыналар жатады:

Мақаланы оқығаннан кейін сіз осы мақаладағы материалға негізделген қысқаша оқулықты аяқтау арқылы біліміңізді бекіте аласыз. РНР тілін меңгеруде сәттілік!

РНР тілі өзін ең танымал бағдарламалау тілдерінің басында сенімді түрде табады, бірақ бәрінің соңы бар. РНР ұмытылу қаупі бар ма, оны не алмастыра алады және Facebook сияқты сайт жасау үшін қай тілді таңдар едіңіз? Бұл сұрақтарға Quora сайтының қолданушылары жауап берді.

Джордж Мауэр, JS

PHP өлуде, Java өлуде, C# өлуде, SQL өлуде, JavaScript өлуде, C өлуде. Дегенмен, тізімде жоқ барлық бағдарламалау тілдеріндегі жобаларға қарағанда бұл тілдердегі жобалар айтарлықтай көп. Иә, кейде жаңа үрдістер қалыптасқан нәрсені ығыстыруы мүмкін, бірақ бұл процесс өте баяу жүреді. Бұл ең үлкені жаман дегенді білдірмейді.

Мен PHP Facebook құрудың ең жақсы нұсқасы болғанымен келісе алмаймын. Бұл әлеуметтік желіні жасаушылар шын мәнінде PHP-ді ішінара ғана пайдаланады. Қазіргі кезде бұл тілдің орнына өздерінің Hack деп аталатын диалектісі бар деп айтуға болады. PHP тек Цукерберг пен басқа әзірлеушілер осы жобада жұмыс істей бастаған тіл болды.

Бұл PHP соншалықты жаман таңдау болды деп айтуға болмайды. Дегенмен бұл қолданбаларды жылдам әзірлеу талаптарына жауап беретін тіл. Ал бұл, өз кезегінде, стартап үшін негізгі факторлардың бірі – Facebook жағдайында бұл фактор шешуші рөл атқарды. Бастапқыда PHP сценарийлер жинағының бір түрі болды. Бұл абстракцияның төменгі деңгейіне өтуді және оңтайландыру қажет болған кезде C кодын жасауды жеңілдетеді. Мұның бәрі мұқият зерттелді және қазіргі заманғы тілдердің көпшілігінде сәтті жүзеге асырылды.

Әлеуметтік желі бағдарламалау тілінен белгілі бір нәрсені талап етеді деген ойдан бас тартыңыз. Код генерациясының көпшілігі толығымен стандартты және таныс болады. Иә, болжамды және әлеуетті достарды сәйкестендіру сияқты кейбір проблемалық аймақтар бар, бірақ ұқсас мәселелер көбінесе арнайы бағдарламалық жасақтаманың көмегімен шешіледі. Мысалы, графикалық бағдарланған мәліметтер қоры. Жүйені құруда өте мұқият және мұқият болуыңыз керек, сонымен қатар DevOps-ті жақсы түсінуіңіз керек, бірақ басқа тілдермен де солай істеу керек. Мінсіз даму тіліне ие болудан гөрі, сіз үшін тәжірибелі және білімді әзірлеушілер маңыздырақ.

Бұл, шын мәнінде, мені мәселенің түпкі мәніне әкеледі. РНР өте тартымды, өйткені оны қазіргі уақытта көптеген мамандар жақсы біледі. Бірақ сіз стартапта осы мамандардың ешқайсысының жұмыс істегенін қаламайтын шығарсыз. Бірнеше тілді меңгерген, дүниетанымы қалыптасқан және ақпараттандырылған адамдарды жұмысқа алғыңыз келеді. Бұл адамдардың көпшілігі PHP-ді ұнатпайды.

Елестетіп көріңізші: мен жаңадан тіркелген стартапымды дамыту үшін жалға алынған мүлде жаңа кеңседе отырмын, жобаны дамытуға алынған қомақты ақшаға жұмыс үстеліме қарап отырмын және қай бағдарламалау тілін таңдау керектігін ойлап жатырмын. Бұл менің болашақ кәсіпорнымның сәтті немесе сәтсіздігін анықтайтын нәрселер тізімінде шамамен 250 мәселе екенін түсінемін. Мен бұл шешімді әзірлеу тобымен бірге қабылдау керек екенін түсіне бастадым, менде әлі жоқ. Сондықтан, мен өзім салыстырмалы түрде кең таралған, әзірлеушілерге абстракцияның төменгі деңгейіне оңай өтуге мүмкіндік беретін және ең бастысы, менде өз бизнесінде ең жақсы таныс әзірлеушілерге ие болатын тіл нұсқаларын іздей бастадым.

Қазіргі уақытта мұндай тіл - Эликсир. Ол Beam виртуалды машинасына негізделген және Эрланг тілінің өте жақын туысы болып табылады, ол бірнеше ондаған жылдар бойы бірқатар жобаларда өзін дәлелдеді. Бұған қоса, бұл тіл ойға келмейтін өнімділік нәтижелерін көрсетеді.

Тағы бір тамаша таңдау - Go. Бұл ең алдымен төмен деңгейлі тіл, бірақ ол жоғары деңгейлі тілдерде жасалуы мүмкін барлық нәрсені жасай алады. Оның құрылымына қатысты кейбір шешімдер маған ұнамаса да, ол бәрібір назар аударуға тұрарлық.

Тағы бір нұсқа Clojure болар еді. Бұл тіл үшін әзірлеушілерді табу оңай емес, бірақ бұл тіл LISP-тің тікелей ұрпағы екенін ескере отырып, мен оның керемет күшті және дамудың көптеген нұсқаларын беретінін шын айта аламын.

Бірнеше маңызды ескертулер:

  • .Net фреймворкіндегі F# немесе тіпті барлық жерде таралған C# тілін қараңыз. Егер сіз соңғы нұсқаны таңдасаңыз, тамаша команда құру үшін қарап шығуға және електен өткізуге көбірек резюмелерді алуға дайын болыңыз;
  • Сіз Scala көмегімен әсерлі нәрселер жасай аласыз;
  • Node.js. Мен жай ғана Node.js туралы айтуым керек. Жеке менің ойымша, Javascript қазіргі уақытта тізбектің жоғарғы жағында, бірақ Node де ұзақ уақыт бойы кеңінен қолданылатын тілдер тізімінде болды. Сонымен қатар, жоғары білікті мамандардың саны көп.

© Андрей Кухарчик
Компьютерлік газет

Кіріспе

Интернет біздің өмірімізге әлдеқашан берік орнаған. Бұл батыл мәлімдемені бірнеше рет дәлелдеуге немесе жоққа шығаруға болады, бірақ бәрі бір немесе басқа жолмен өзгереді және онымен ешкім дауламайды.

Көптеген дербес компьютер пайдаланушылары дискілік кеңістікті үнемдеу үшін Internet Explorer бағдарламасын біздің сүйікті операциялық жүйемізден алып тастаған күндер артта қалды, өйткені олар оны қажет етпеді. Енді Интернетке қол жеткізе алмайтындар да бұл бағдарламаға қол тигізбеуге тырысады, өйткені Интернет пішімдері компьютерлік өміріміздің басқа салаларына әлдеқашан көшкен. Ал егер модем компьютерде орналасса, браузердің болуын болдырмау мүмкін емес, өйткені сіз телефон желісінен тыс жерде не бар екенін кем дегенде бір көзбен көргіңіз келе ме? Ал танысу орын алған соң, желі артықшылығынан бас тарту оңай емес. Біраз уақыттан кейін сіз қандай да бір жолмен өзіңізді және идеяларыңызды инвестициялауыңыз және Жаһандық желінің кең ауқымында өзіңізді көрсетуіңіз керек екенін түсіне бастайсыз. Өз бетіңізді жасау тіпті беделді болды, тіпті оның пайдалылығы аз болса да, есептегіш сіздің сирек келулеріңізді ғана жазады, сіз жасаған нәрсе маңызды жобаның бастамасы болып, бүкіл өміріңізді өзгерте алады.

Ғаламдық Интернеттің кең аумақтарында саяхаттай отырып, сіз, әрине, кейде сыртқы өте үлкен өлшемдерге жететін және біртүрлі белгілердің болуымен таң қалдыратын гиперсілтемелерге жиі назар аудардыңыз. Және, әрине, әркім толтырылуы және орнына бірдеңе алуы керек бланкілерге назар аударды. Бірақ мұның бәрі қалай жұмыс істейтіні және бұл нені білдіретіні туралы аз адамдар ойлайды.

Мен сізді бағдарламалау әлеміне енуге шақырамын. Бұл дүние көп жағынан ешнәрсеге ұқсамайды, бірақ оның жазылмаған заңдары мен ережелері, жақсы және жаман жақтары бар. Біздің алдымызда ашылатын әлем тағы бір қадамға ғана көрінеді, бірақ бұл қадамды меңгеру керек, содан кейін одан әрі жүру әлдеқайда оңай болады.

РНР тарихы

Сіз әрқашан ең қарапайымнан бастауыңыз керек, енді мен сізді PHP сценарий тілінде бағдарламалаумен таныстыруға тырысамын. RHP (айтылуы PHP) 1994 жылдың күзінде дүниеге келген және оны жасаушы Расмус Лердорф оның сайтына кіретін және оның сайтымен танысатын адамдар туралы түсінік алу үшін тілді өз мақсатына пайдаланды. түйіндеме.

Автордың айтуынша, PNR бір күнде іскерлік кездесулер арасында сөзбе-сөз жазылған. Бастапқыда бұл Perl тілінде жазылған қарапайым емес CGI қабығы болды және ол тек арнайы мақсаттарға қызмет етті. Анықтама үшін - CGI (Common Gateway Interface) - жалпы шлюз интерфейсі, HTTP сервер қосымшаларын жасауға арналған стандарт.

Шлюз немесе CGI бағдарламасы деп аталатын бұл қолданбаны сервер нақты уақыт режимінде орындайды. Сервер пайдаланушының сұраныстарын CGI бағдарламасына жібереді, ол оларды өңдейді және өз жұмысының нәтижесін пайдаланушы экранына қайтарады.

Осылайша, келуші әртүрлі факторлардың әсерінен өзгеруі мүмкін динамикалық ақпаратты алады. Шлюздің өзі (CGI сценарийі) әртүрлі бағдарламалау тілдерінде жазылуы мүмкін - C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script және басқа ұқсас тілдер. Бірақ PHP жағдайында оны бастапқы нұсқасында жазу үшін ең қарапайым және қол жетімді тіл ретінде Perl тілі таңдалды.

Әрі қарай пайдалану нәтижесінде қабықтың өнімділігі төмен екендігі анықталды, автор бәрін қайтадан қайта жазуға мәжбүр болды, бірақ PHP жылдамдығын арттыруға мүмкіндік берді. PHP бірінші нұсқасы бар сайт орналасқан сервердің пайдаланушылары дәл сол құралды сұрады, автор бұл тілді басқа біреу қолданады деп ойламаса да, PHP тез арада тәуелсіз жобаға айналды және 1995 жылы бізге белгілі бірінші өнім нұсқасы шығарылды. Бұл бірінші буманың атауы Жеке басты бет құралдары болды. Ол кезде RNR қарапайым мүмкіндіктерге ие болды. Онда бірнеше арнайы командаларды түсінетін қарапайым код анализаторы, сонымен қатар қонақ кітабы, есептегіш, чат, статистикалық жүйелер және т. 1995 жылдың ортасына қарай тіл түбегейлі қайта жасалды, пішінді өңдеу пайда болды, мәліметтер базасымен жұмыс істеу функциялары қосылды және өнімнің екінші нұсқасы осы пішінде шығарылды.

Бүгінгі таңда РНР серверде орналасқан және HTML бетіне енгізілген арнайы кодты өңдеуге арналған қуатты кросс-платформалық құралдар жиынтығы болып табылады. Осының арқасында динамикалық сайттарды оңай құруға болады. Осылайша жасалған файлдар серверде сақталады және өңделеді, ал келуші PHP арқылы құжат сұраған кезде, сценарий Java Script сияқты келушінің браузерінде өңделмейді, бірақ серверде өңделеді және тек жұмыс нәтижесі ғана көрсетіледі. келушіге беріледі. C немесе Perl тілінде жазылған CGI бағдарламасы дәл осылай жұмыс істейді. Бірақ, CGI-ден айырмашылығы, PHP кодын HTML бетінің кез келген жеріне ендіруге болады, бұл CGI-ден басты артықшылығы болып табылады. Сонымен қатар, PHP тілінің өзі үйренуге өте оңай және ешқандай нақты білімді қажет етпейді. Мысалы, мен үшін он жыл бұрын мектептегі информатика сабақтарында жинаған тәжірибем, сол кездегі өте сәнді және қымбат Yamaha-да BASIC тілін үйренгенім маған жеткілікті болды. Осындай қызғылт сипаттамаға қарамастан, РНР-де кемшіліктер де бар. РНР сценарийлерінің біршама баяу (CGI бағдарламаларымен салыстырғанда) жұмыс істеуін, сондай-ақ үлкен және күрделі бағдарламаларды жазудың қиындығын атап өткен жөн. Қалай болғанда да, PHP түсіндірілетін тіл болып қала береді, бұл өте үлкен және күрделі бағдарламалар жағдайында өнімділіктің төмендеуіне әкеледі, бірақ сайтта қарапайым манипуляцияларды орындау үшін PHP ең жақсы таңдау болып табылады. 2000 жылдың ортасына қарай РНР 2,5 миллионнан астам сайттарда қолданылғаны таңқаларлық емес!

РНР мүмкіндіктері

Кез келген бағдарламалау тілі сияқты РНР-дің де өзіндік синтаксисі бар. Ол C немесе Perl синтаксисіне өте ұқсас. Осы тілдерде жазатын бағдарламашылар бірнеше күнде PHP тілін меңгере алады. Бірақ сіз ешқашан бағдарламаламаған болсаңыз да, PHP пайдалану оңай және жетілдірілген тілдерге көшуге негіз береді. Барлық командалар өте қисынды және ережелер қарапайым. Синтаксис нүктелі үтірмен бөлінген мәлімдемелерді қамтиды. Жаңадан бастаған бағдарламашылардың басты қателіктерінің бірі - мәлімдемелер арасында нүктелі үтірдің болмауы. Бақытымызға орай, PHP қателері экранда әдепкі бойынша көрсетіледі (барлық қателер журнал файлына жазылатын CGI-дан айырмашылығы) және оларды мұқият және тәжірибемен табу қиын емес. Сонымен қатар, ақылды аудармашы қате орын алған жол нөмірін айтып береді.

РНР тілінде бағдарламалау үшін сізге кез келген мәтіндік редактор қажет, бірақ ыңғайлы болу үшін ол синтаксисті бөлектеуді және жолды нөмірлеуді қамтамасыз етуі керек. Мен CuteFTP жақсы FTP менеджерінің соңғы нұсқаларында қамтылған CuteHTML пайдаланамын. Редактор өте ыңғайлы, қажетсіз функцияларсыз, ол контекстік мәзірге енгізілген, орнатуды қажет етпейді және бағдарламалауға қажетті барлық нәрсе бар. Бізге PHP-мен жұмыс істеуге арналған жинақ керек. Әдетте, Apache+PHP пайдаланылады, бірақ бұл қажет емес, мысалы, Microsoft корпорациясының IIS жүйесі; Бірақ бірінші нұсқа тегін және құжаттамамен (соның ішінде орыс тілінде) және кез келген сұрақты білуге ​​болатын форумдарда үлкен қолдауға ие.

Енді іске кірісейік - бірінші сценарийімізді жазыңыз. Сервер қай файлда PHP кодын қамтитынын білуі үшін оның кеңейтімі (файлдың) phtml немесе php3 немесе php болуы керек. Қатаң айтқанда, кез келген кеңейтімді тағайындауға болады, бірақ үйлесімділік себептері үшін әрқашан phtml пайдалануды ұсынамын. PHP тіліндегі әрбір пәрмен әдетте " деп басталады." (бұдан әрі тырнақшасыз). Естеріңізде болса, бірнеше пәрмендер нүктелі үтірмен бөлінген. Пікірді PHP сценарийінің кез келген жеріне қоюға болады, ол "/*" әрпінен басталып, "*/" белгісімен аяқталады. Түсініктеме кішкентай болса және тек бір жолды алады, сіз «//» қоя аласыз және осылайша кез келген жолды соңына дейін оңай түсіндіре аласыз, әдеттегідей, бос орындар, қойындылар және жаңа жолдар жай ғана еленбейді және PHP кодының оқылуын жақсарту үшін пайдаланылуы мүмкін.

РНР тіліндегі дисплей және айнымалылар

PHP экранда мәтін шығаруды ұйымдастыруды өте жеңілдетеді. Мысал сценарийін қарастырайық:

Бұл сценарийді HTML құжатының кез келген жерінде орналастыруға болады және ол өз бетінше ешнәрсе бермейді, өйткені ол экранда тек «Сәлем, әлем!» фразасын көрсетеді. Бірақ осылайша біз ең көп тараған PHP командаларының бірімен танысамыз - пайдаланушы экранында ақпаратты көрсету. Скриптімізге пайдалы функцияларды беру үшін айнымалы мәндерді қарастырайық. Айнымалы атаумен, типпен және мәнмен сипатталады. Атау кез келген болуы мүмкін және сандарды, ағылшын алфавитінің әріптерін және рұқсат етілген таңбаларды (мысалы, астын сызу немесе сызықша) қамтуы мүмкін. Түрі бойынша айнымалылар бүтін, өзгермелі нүкте және таңба болып бөлінеді. Түрі бойынша мән кез келген дерлік болуы мүмкін. Мысалы, a=5 айнымалысы. Бұл айнымалының аты a, түрі бүтін сан және мәні 5 екенін көрсетеді. Мұнда атаулар мен мәндердің көбірек мысалдары берілген:

Көріп отырғаныңыздай, PHP тіліндегі барлық айнымалылар (бірақ онда ғана емес) $ таңбасынан басталуы керек, бұл интерпретаторға оларды РНР командаларынан дәл ажыратуға мүмкіндік береді. Скриптіміздің бірінші жолы $name айнымалысына 6 мәнін тағайындайды және бұл айнымалы автоматты түрде бүтін санға айналады. Айтпақшы, Pascal немесе Visual Basic тілдеріндегідей айнымалының түрін алдын ала жариялаудың қажеті жоқ, бірақ типтерге бөлу таза шартты болғанымен, әрбір айнымалы автоматты түрде мәніне сәйкес дұрыс типті пайдалануға ұмтылады. Кодтың екінші жолы өзгермелі нүкте мәні болып табылатын $h12 - 4,89 айнымалысын орнатады. Кодтың үшінші және төртінші жолдары олардың айнымалыларына мәндерді тағайындайды, олар таңбалар жолдары болып табылады. Тырнақшаға алынған кез келген нәрсе (сандарды қоса алғанда) таңбалар жолы ретінде түсіндіріледі. Айнымалылар бұрын анықталмаса, бірақ пайдаланылса, олардың мәні түріне байланысты нөл немесе бос жол деп қабылданады.

Кез келген тілдегідей, айнымалылар бойынша кез келген арифметикалық амалдарды орындауға болады және бұл үшін арнайы оператордың болуы қажет емес, нәтиже үшін айнымалыны, теңдік белгісін көрсету және айнымалыларды немесе мәндерді тізімдеу жеткілікті; табиғи тәртіпте қажетті арифметикалық белгілер. Мысалы:

Сценарийдің нәтижесі 4 санының дисплейі болып табылады. Барлық арифметикалық амалдар мен функциялар, көп деңгейлі жақшалар, логикалық операциялар, бір және одан да көп көбейту немесе азайту операциялары қолданылады. Сонымен қатар, егер - онда - әйтпесе салыстыру өте қарапайым және табиғи. Ол үшін РНР if () ( ) else ( ) құрылымын пайдаланады. Бұл оператор үшін әртүрлі синтаксистік опциялар бар, бірақ бұл негізгі және ең логикалық. (егер) егер (шарт) (онда) (тырнақшадағы нәрсе орындалады) (басқа) басқа (тырнақшадағы нәрсе орындалады). Операторлар арасында әдеттегідей тырнақшадан кейін нүктелі үтір қоюдың қажеті жоқ. Бірақ тырнақша ішінде операторлар бір-бірінен нүктелі үтір арқылы ғана бөлінеді. Бірнеше тексеру операторларын бір-біріне біріктіруге болады. Бұл жағдайда жабылатын тырнақшалардың санына өте мұқият болу керек, өйткені біреуі жетіспесе, аудармашы код қатесін жібереді. Қарапайым мысалды қарастырайық:

Шынымен салыстыру кезінде аудармашы салыстыруды тапсырмадан оңай ажырата алуы үшін екі бірдей белгі пайдаланылады. Сценарийдің нәтижесі 95-ке тең, себебі $a $b мәніне тең емес, ал команда $b.$a жаңғырығы; (айнымалылар арасында арифметикалық амал белгісі емес нүкте бар) көрсетілген айнымалыларды қатарда көрсетеді. Теңсіздік (жалған) != символдарымен белгіленеді, қалған барлық арифметикалық және логикалық белгілер мен операторлар жарамды (мысалы, немесе, және, >,<= и т.д.).

РНР-де айнымалыны бір жоғары немесе төмен жылдам өзгерту құралы бар. Ол үшін сәйкесінше тең белгісінсіз қатарда екі плюс немесе минус болатын айнымалының атын көрсету керек. Мысалы, $a++; - $a айнымалысы бір көбейтіледі. Бір мәнді бірнеше айнымалыға бір уақытта тағайындауға қолдау көрсетіледі - $a = $b = 4;. Екі айнымалы да төртке тең болады. РНР тіліндегі стандартты емес арифметикалық амалдардың тағы бірнеше мысалдары:

PHP-де файл тіркемелері

Интернетте кем дегенде бір бетті жасаған әрбір адам ондағы белгілі бір деректерді өзгерту мәселесіне тап болды. Әрине, бұл бірнеше бет немесе бір ғана :- болғанда қиын емес, бірақ егер сіз үлкен сайт жасаған болсаңыз, жүздеген файлдары бар шағын қосымша (мысалы, мәзірге) нағыз қорқынышты арманға айналуы мүмкін! PHP бұл мәселені бір қадамда шешеді, бұл сізге бір бетті екіншісіне кірістіруге мүмкіндік береді. Бұған REQUIRE және INCLUDE операторлары арқылы қол жеткізіледі. Бұл мәлімдемелерден кейін жақшадағы тіркелген файлға жол жазылуы керек. Мысалы, INCLUDE("text.phtml"). Бұл операторлардың айырмашылығы мынада: REQUIRE көрсетілген файлдың мазмұнын ауыстырады және оны тек бір рет қолдануға болады, ал INCLUDE көрсетілген файлдың мазмұнын кірістіреді және орындайды, бұл оны бірнеше рет, мысалы, циклде пайдалануға мүмкіндік береді. Кез келген жағдайда, файлды орындау кезінде PHP интерпретаторы (дұрыс талдаушы деп аталады) HTML күйінде болады және оны қосу үшін код конструкцияға қосылуы керек.. Файл тіркемелері тек PHP қол жетімді сервер кеңістігінде болуы мүмкін. Басқаша айтқанда, файл атауында http:// пайдалана алмайсыз.

Көбінесе сілтемелерінде арнайы таңбалар бар сайттар бар - &, ?, %. Мұның бәрі РНР жұмысының нәтижесі болуы мүмкін. Мәселе мынада, егер сіз сілтеменің соңына ?name=value қоссаңыз, бұл мән сілтеме көрсететін файлда бірдей атпен қолжетімді болады. Бірнеше атауды қосу қажет болса, оларды & арқылы бөлуге болады. Енді біз тек бір бетті пайдаланып қол жетімді болатын веб-сайт жасай аламыз. Және бұл бетте сілтеме арқылы алынған деректерге негізделген барлық басқа ақпарат көрсетіледі. Мұндай сілтеменің пайда болуы келесідей болады: http://name.ru/index.phtml?link=1. Сілтеменің соңындағы бірлік index.phtml файлында ауыстырылатын біздің параметр болып табылады. Мысалы, келесідей:

...файлдың басы......файлдың соңы...

Назар аударыңыз, біз жазған код келуші әртүрлі себептермен дұрыс емес параметрді көрсеткен жағдайды ескереді. Бұл жағдайда қате туралы хабары бар дайындалған бет көрсетіледі. Параметр сайт файлдарының кез келгеніне сәйкес келсе, ол index.phtml файлының кодына енгізіледі және орындалады. Осылайша, басы мен соңы өзгеріссіз қалады, бірақ ортасы ғана өзгереді. Ал кез келген өзгерістер бұрынғыдай қорқынышты болып көрінбейді. Өйткені, олар тек бір файлда жасалуы керек, бірақ бұл бүкіл сайтта көрсетіледі.

Басқа жолы бар. Оның мәні PHP серверлік ортаның айнымалылары деп аталатындарға қол жеткізуінде жатыр. Осы айнымалылардың бірі сайт мекенжайына қатысты келушінің сұрайтын жолы болып табылады. Және бұл жол бізге пайдалану үшін қолжетімді болады. Бұл жағдайда біздің сілтемелер келесідей болады: http://name.ru/index.phtml?patch/name.phtml. Сілтеменің екінші бөлігі - patch/name.phtml - $QUERY_STRING параметрін қарастырсақ, бізге қолжетімді болады. Мысалы, келесідей: $add = $QUERY_STRING. Енді барлығы автоматты түрде жұмыс істейтіндей етіп негізгі index.phtml файлымызды өзгертейік. Ал егер сұралған параметр көрсетілмесе (дұрыс айтсақ ол бос жолға тең болады) бірдеңені ашу үшін $add айнымалысына негізгі бет ретінде ашылуы керек файлдың атын береміз. Бұл main.phtml файлы болсын. Содан кейін код келесідей болады:

...файлдың басы......файлдың соңы...

Көріп отырғаныңыздай, бұл одан да қарапайым. Бірақ бұл әдіс біріншіден оңайырақ болса да, мұндай құрылымы бар сайт орналасқан сервер туралы ақпарат алуға жол ашатынын бірден ескерткім келеді. Шабуылдаушы немесе жай ғана қызықты адам белгілі бір жағдайлар мен білімді ескере отырып, сіздің серверіңіз туралы көп нәрсені біле алады және бұл бұзуға тікелей жол ашады. Сондықтан сақ болыңыз және үлкен қиындық тудырмаңыз. Мұндай проблемалардан өзіңізді қорғауға болады, бірақ бұл мүлдем басқа әңгіме.

РНР-дегі кіру есептегішінің мысалы

Егер сіз бәрін мұқият оқып шықсаңыз, сіз білімнің бастапқы капиталын оңай аласыз және бұл сізге болашақта РНР тілін өз бетінше оқуға мүмкіндік береді. Соңында мен сізге скрипт кодымен танысуды ұсынамын, ол сіздің сайтыңыздың кез келген бетінде кіру есептегішін ұйымдастыруға мүмкіндік береді. Бұл есептегіш толықтай жұмыс істемейді, өйткені оның көптеген кемшіліктері бар, бірақ ол PHP пайдалану үлгісі ретінде өте қолайлы. Бетіңіздің кез келген жерінде (бірақ қажет жерде ғана) келесі кодты енгізіңіз:

Бетке келушілер -

Бетіңізбен бірдей каталогта counter.dat файлын жасаңыз, оны серверге жүктеңіз және FTP менеджерін пайдаланып, осы файлдың атрибуттарын жазылатындай етіп өзгертіңіз. Әдетте барлық файл атрибуттарын тексеру керек. Егер мұны жасамасаңыз, файлға жазу әрекеті кезінде сценарий үнемі қате жібереді. Айтпақшы, мұны болдырмау үшін файлды жазу және ашу пәрменінің алдына @ белгісін қою керек, ол келушінің экранында қате туралы хабарламаның көрсетілуін болдырмайды. Атрибуттар өзгертілгенде, сервердегі бетті жаңартып, браузердегі мекенжайы бойынша оған қол жеткізіңіз. Сіз PHP кодын енгізген жерде жол пайда болатынын көресіз: «Бет келушілері -» және одан кейін кіру санына сәйкес сан. Және кодтың ізі жоқ! Ол Интернеттегі серверде өңделді және бұл орындалу нәтижесі браузерге жай ғана жіберілді.

Бұл сценарийдің алгоритмі өте қарапайым. Бірінші жолда біз таңдалған айнымалыға кіру саны сақталатын файлдың атын тағайындаймыз. Екіншісінде оқу үшін осы файлға қосылым ашамыз. Әрі қарай, біз қосылымның сәттілігін тексереміз және егер файл бар болса және оқуға болатын болса, одан есептегіш үшін жеткілікті болатын 10 байт жолды оқып, файлға қосылымды жабамыз. Біз санауыш көрсеткішін бір көбейтіп, оның жаңа мәнін экранға шығарамыз. Келесі кезеңде біз жаңа есептегіш мәнді жазуымыз керек және ол үшін файлмен байланысты (дескрипторды) қайтадан ашамыз, бірақ файлдың мазмұнын жазу және тазалау үшін. Егер ол сәтті болса, онда жаңа есептегіш мәнін жазып, файл дескрипторын жабамыз. Осымен болды.

Осымен PHP тілімен алғашқы танысуымыз аяқталды. Әрине, әлі де көп пайдалы және қызықты нәрселер қалды, бірақ, өкінішке орай, бәрін бірден қамту мүмкін емес. Дегенмен, сондықтан ақылды адамдар қол жетімсіз нәрселерді қол жетімді ету үшін желіні ойлап тапты. Интернетте PHP тақырыбы бойынша көптеген пайдалы ресурстар бар және іздеу жүйесінің ең аз дағдыларымен сіз оларды оңай таба аласыз. Мен сізге барлығына арналған PHP ақпараттық бюллетеніне жазылуға кеңес беремін!, онда жаңа мақалалар, мысал сценарийлері аптасына бір рет тұрақты түрде шығады, сұрақ-жауап бөлімі, сондай-ақ басқа да көптеген пайдалы ақпарат бар. Жазылу формасын тауып, онлайн мекенжайы бойынша жазылуға болады.

Ақпараттық бюллетеньдің барлық алдыңғы нөмірлері сонда орналастырылған. Ал мекен-жайдан оның барлығы қалай жұмыс істейтінін көруге болады. Бұл сайтта көргендердің барлығы PHP арқылы жасалған. Чат, форум, жеке жарнамалар, статистика жүйесі – бұл РНР тілінде бағдарламалау бізге беретін мүмкіндіктердің аз ғана бөлігі.



Бөлісу