Kod redaktoru
PHP kodunu hansı proqramda yazaq? Ağla gələn ilk suallardan biri də budur. Mən PHPStorm adlı IDE mühitindən istifadə edirəm. Belə mühit proqramların işlənib hazırlanması üçün tələb olunan zamanın qısaldılmasına çox kömək edir. Belə mürəkkəb redaktorlarda kodun müxtəlif rənglərdə işıqlandırılması, kodun avtomatik tamamlanması funksiyası, verilənlər bazası ilə işləmək və digər çoxlu sayda imkanlar əlçatandır. Ancaq o, ödənişlidir. Ona görə sizə ödənişsiz "Notepad++" proqramını tövsiyə edirəm. Burdan yükləyin. Başlanğıc üçün tam uyğundur. Kodlaşdırma standartını UTF-8 təyin edin:
İlk skript
first.php
faylına aşağıdakı kodu əlavə edin. PHP faylının uzantısı .php kimidir:
<!DOCTYPE html>
<html lang="az">
<head>
<title>İlk skript</title>
</head>
<body>
<p><?php
error_reporting(E_ALL);
$num = 1;
printf("%d mənim sevimli rəqəmimdir, çünki o, birinci gəlir.<br>", $num);
printf("1-dən sonra 2 ədədi gəlir.");
?></p>
</body>
</html>
"Open Server Panel"in işə salındığına əmin olun. Brauzerdə first.php
URL ünvanına daxil olun. Nəticə:
1 mənim sevimli rəqəmimdir, çünki o, birinci gəlir.
1-dən sonra 2 ədədi gəlir.
İlk skriptin işləməsi ilə bağlı izah
<?php … ?>
Yuxarıdakı kodda həm HTML, həm də PHP kodu yazılıb. PHP interpretatoru yalnız <?php … ?>
teqləri arasında yazılmış əmrləri icra edir. <?php
başlanğıc teqi "PHP rejiminə" daxil olmağa, ?>
teqi isə həmin rejimdən çıxmağa imkan verir. Əgər <?php
başlanğıc teqini yazmağı unutsan, onda php kod olduğu kimi ekrana çıxarılacaq, yəni icra edilməyəcək.
error_reporting(E_ALL);
Bu əmr hansı PHP səhvlərinin göstərilməsini müəyyənləşdirir. E_ALL
- bütün PHP səhvlərinin göstərilməsini bildirir. Bu dərslər yeni öyrənməyə başlayanlar üçün nəzərdə tutulduğuna görə, kodunuza nəzarət nə qədər ciddi olsa, sizin üçün bir o qədər yaxşıdır.
$num = 1;
$num
dəyişəninə 1 qiyməti mənimsədilir. Növbəti dərsdə dəyişən ətraflı izah ediləcək.
printf("%d mənim sevimli rəqəmimdir, çünki o, birinci gəlir.<br>", $num);
printf()
funksiyasının çağırışı mötərizədəki yazını ekrana çıxardır. %d
kodu $num dəyişəninin qiymətini ekranda harda və hansı formada çap etməyi müəyyənləşdirir. Həm də %d
kodu yalnız tam ədədlərlə (məsələn, 5, 10, 500) işləyə bilir.
printf("1-dən sonra 2 ədədi gəlir.");
printf()
funksiyasının növbəti çağırışı "1-dən sonra 2 ədədi gəlir." ifadəsini ekrana çıxarır.
Ancaq eyni nəticəni HTML-in köməyilə də əldə etmək mümkündür:
<!DOCTYPE html>
<html lang="az">
<head>
<title>İlk PHP skripti</title>
</head>
<body>
<p>1 mənim sevimli rəqəmimdir, çünki o, birinci gəlir.</p>
<p>1-dən sonra 2 ədədi gəlir.</p>
</p>
</body>
</html>
Nəticə:
1 mənim sevimli rəqəmimdir, çünki o, birinci gəlir.
1-dən sonra 2 ədədi gəlir.
Bəs onda PHP dili bizə nə üstünlük verir? Növbəti dərslərdə bu üstünlüklərlə daha ətraflı tanış olacaqsınız.
İndi date.php
adlı aşağıdakı skripti nəzərdən keçirək:
<?php
error_reporting(E_ALL);
printf("%s", date("j F"));
?>
Nəticə:
19 April
Bu veb səhifə artıq dinamikdir, hərçənd istifadəçi ilə heç bir qarşılıqlı əlaqə yoxdur. Əgər bir gün sonra brauzerdə date.php
URL ünvanına daxil olsanız, nəticə "20 April" olacaq. Növbəti gün 21 və bu ardıcıllıqla davam edəcək.
İndi isə date.html
faylının tərkibini nəzərdən keçirək:
<!DOCTYPE html>
<html lang="az">
<head>
<title>Tarix</title>
</head>
<body>
<p>19 April</p>
</p>
</body>
</html>
Nəticə:
19 April
Ancaq bir gün sonra brauzerdə date.html
faylını açsanız, nəticə eyni olacaq: 19 April. Ona görə ki HTML statikdir. "20 April" nəticəsini əldə etmək üçün bu html sənədini öz kompüterinizdə redaktə etməli, sonra onu veb serverə yükləməlisiniz. Təsəvvür edin ki, hər gün bunu etmək lazımdır. Sadə nümunə olsa da, ümid edirəm ki, statik və dinamik veb səhifələrin fərqini başa düşməyə kömək edir.
printf() yoxsa echo
Bir çox dərsliklərdə dəyişənin qiymətini ekrana çıxarmaq üçün echo
operatorundan istifadə edilir. Ancaq mən printf()
funksiyasından istifadəyə üstünlük verirəm. Aşağıdakı sadə skripti nəzərdən keçirək:
<?php
$greeting = "Hello";
$to = "everyone";
echo $greeting . " " . $to;
echo "<br>";
printf("%s %s", $greeting, $to);
?>
Nəticə:
Hello everyone
Hello everyone
echo
operatorunun köməyilə $greeting
və $to
dəyişənlərinin qiymətini ekrana çıxarmaq üçün nöqtə, dırnaq işarəsi arasında boşluq simvolundan istifadə edilib. Nöqtə iki dəyişənin qiymətini birləşdirir, dırnaq işarəsi arasında boşluq simvolu isə sətirlər arasında məsafə qoyulmasını təmin edir.
printf()
funksiyasından istifadə məncə daha rahatdır. %s
kodunun əvəzinə dəyişənlərin qiyməti ekrana çıxarılır. %s
kodu yalnız sətirlərlə işləyir.