PHP — dinamik veb səhifələr yaratmaq üçün nəzərdə tutulmuş proqramlaşdırma dili. PHP əsasən veb həllərin yaradılmasında istifadə edilən populyar server proqramlaşdırma dilidir. Məsələn, formadakı məlumatları qəbul edərək emal edən skript yaratmaq, saytda axtarış sistemi reallaşdırmaq və ya qeydiyyat sistemi yaratmaq mümkündür. 1994-cü ildə Rasmus Lerdorf CGI alətlərini yazmağa başladı və daha sonra 1995-ci ildə onları mükəmməlləşdirərək PHP dilini ortaya çıxartdı. Əksər hallarda PHP, Linux əməliyyat sistemi, MySQL məlumatlar bazası və Apache veb serveri qısa olaraq LAMP kimi (Linux, Apache, MySQL, PHP) yazılır.
PHP | |
---|---|
Paradiqmalar | Obyekt yönümlü proqramlaşdırma, Refleksiya |
Yaradılma tarixi | 8 iyun 1995[4][5] |
Müəlliflər | Rasmus Lerdorf[6] |
Tərtibatçılar | Rasmus Lerdorf[1], Andi Qutmans[1], Zeev Suraski |
Fayl sonluğu |
.php [7] və ya .phar [8] |
Sonuncu versiyası | |
Təsirlənib | C++, Perl[9], C[9], Java[9], Tcl[10], HTML, JavaScript |
Əməliyyat sistemi | Unix bənzəri, Microsoft Windows |
php.net | |
Vikianbarda əlaqəli mediafayllar |
PHP dili 1995-ci ildə yaradılmışdır. İlk əvvəllər onun adı Personal Home Page sözlərinin baş hərflərinin birləşməsindən əmələ gəlmişdir. Daha sonralar daha ciddi ad fikirləşmək məqsədilə Hypertext Preprocessor adı verildi. Lakin HPP bir o qədər yaxşı səslənmədiyindən PHP adı qaldı. 2004-cü ildən PHP obyekt yönümlü dil kimi istifadə olundu. Məhz bu ildə Zend şirkəti PHP üçün yeni obyekt modeli tətbiq etməyə başladı. PHP5 versiyasında artıq obyektlər üzvləri(metodlar, xassələr) private, protected, public, static, final kimi ola bilər, interfeyslərdən istifadə oluna bilər. 2009-cu ildə Zend şirkəti PHP üçün Zend Server platformasını yaratdı. Zend Serverdə PHP kodlar kompilyasiya olunub bayt-kodlar şəklində qalır və bu da öz növbəsində kodun daha sürətli işləməsinə səbəb olur.
Xəta nəzarəti Cold Fusion ya da ASP uıygulamasındaki qədər təsirli deyil. İDE və debugger tətbiqi yoxdur. IDE'nin bir çox istifadəçi üçün çox bir əhəmiyyəti yoxdur. Ancaq debugger Zend tərəfindən yaxın gələcəkdə inkişaf etdiriləcək. PHP və digər script dillərini nə vaxt istifadə edəcəksiniz. Əgər bir UNIX, ya da Linux platforması üzərində iş görürsünüzsə, Perl və PHP, hər ikisi də işləriniz üçün idealdır. Hər ikisi də başlanğıc mərhələsində script yazmağı asanlaşdırır. Windows platformundaysa ASP və Cold Fusion suverenliyi var. Əslində buradakı seçim texniki olmasından çox siyasi sayılır. ASP ilə IIS ehtimalla PHP ilə IIS'den daha yaxşı. Ancaq tamamilə texniki bir altyapıda PHP, WindowsNT on, digər platformlardaki üstünlüyə çatmaqdadır.
PHP'nin quruluşu C, Perl və Java dilinə oxşayır. PHP, XXI əsrdə məşhurlaşmışdır. PHP daxilində HTMLdən də istifadə etmək mümkündür. Bunun üçün <?php açma tagindən və ?> bağlama tagindən istifadə edilməlidir.
PHPdə kod yazmağa başladığınız zaman açma və bağlama tagləri göstərilməlidir. Əks təqdirdə PHP bunu oxuya bilmir. Bunu;
<?php
?>
yaza bilərsiniz. <?php
ilə PHP kodları yazmağa başlayır və ?>
ilə bitir. Əgər yazacağınız hər hansı bir kod ?>
kənarında qalarsa, PHP onu qəbul etməz.
PHPdə mövcud olan bu funksiya ilə siz yazdığınız kodlara şərh verə bilərsiniz. Məsələn;
<?php
// Burada tək sətrlik şərh yaza bilərsiniz.
/* Burada isə
Çox sətrli
Kod yaza
Bilərsiniz. */
?>
Verilən şərhi PHP oxumur. //
və /*...*/
aralığında yazılan yazılar ekranda görünmür.
PHPdə istədiyiniz bir şeyi ekrana yazdırmaq üçün iki yol mövcuddur. print
və echo
. Bunlar arasında əsasən echo
dan istifadə olunur.
Məsələn:
<?php
echo "Bu mənim ilk işimdir.";
?>
Ekranda çıxacaq:
Bu mənim ilk işimdir.
PHP, echo
daxilində yazılan yazını ekranda göstərər. Yazılan yazı "..."
aralığında yazılmağı və sonuna ;
qoyulmasını tələb edir. Əks təqdirdə kod işləməyəcək.
Lakin yazacağınız yazı rəqəmlərdən ibarətdirsə o zaman "..."
işarəsinə gərək qalmır. Məsələn;
<?php
echo 6;
?>
Ekranda çıxacaq:
6
Gördüyümüz kimi rəqəm yazarkən "..."
işarələrinə ehtiyac qalmır. Həmçinin dəyişkəni də ekrana yazdırarkən "..."
işarələrinə ehtiyac olmur.
PHP'də dəyişkən yaratmaq üçün $
işarəsindən istifadə edilir.
Məsələn;
<?php
$deyishken = "Bu mənim ilk dəyişkənimdir."; // Burada biz ilk dəyişkəni yaratmış olduq. Dəyişkənə istədiyiniz adı verə bilərsiniz.
echo $deyishken; // Burada isə $deyishken'i "..." daxilinə almadıq. Lakin istəsək, ala bilərik.
?>
Ekranda çıxacaq:
Bu mənim ilk dəyişkənimdir.
HTML səhifələrin daxildə php proqramlar yazıla bilər. Bu zaman php bu faylı oxuyarkən onu ancaq yazı kimi qəbul edir. Lakin xüsusi teqlərə rast gəldikdə, artıq onu php kod kimi başa düşür və bağlayıcı teqə qədər olan sətirləri tərcümə etməyə başlayır. Başa düşdüyünüz kimi HTML içərisinə php kod daxil etdikdə onu xüsusi teqlər arasında yazmaq lazımdır ki, həmin hissələri php kimi tərcümə etsin. Əks halda onları da yazı kimi oxuyacaq. Bu teqlər müxtləlif formada ola bilər. Bunu etməyin bir çox yolu var. Məsələn:
<?php echo("HTML ilə işələyərkən belə edin.\n"); ?>
<? echo ("Daha sadə olması üçün belə də mümkündür.\n"); ?>
<?= ''operator'' ?> Bu ikisi bir-birinin eynidir "<? echo ''operator'' ?>"
<script language="php">
echo ("Bu şəkildə də php kodu HTML içərisinə daxil etmək olar.");
</script>
Bir başqa yolu isə:
<?php echo "<html>"; echo "<head>"; echo "<title> Bu hissədə başlıq yazılır. </title>"; echo "</head>"; echo "<body>"; echo "<h2> İstədiyiniz bir şey yazın. </h2>"; echo "</body>"; echo "</html>"; ?>
Gördüyünüz kimi yuxarıdakı formada yazılan kod olduqca uzun olur. Ayrıca bu metod kiçik kodları yazmaq üçündür. Çoxlu HTML tag'ini PHP daxilində yazırıqsa, o zaman bunun üçün alternativ bir yolumuz da var.
<html><head><title> Çoxlu yazı və HTML tag'i. </title></head>
<body>
<h3>Çoxlu yazı və HTML tag'i.</h3>
<?php
$rma = <<<RMA
Buraya istədiyimiz qədər yazı və ya HTML tag'i yaza bilərik.
<h1>Çoxlu yazı və HTML tag'i.</h1>
RMA;
echo ("$rma");
?>
</body>
</html>
Yuxarıda yazdığımız kodda RMA və RMA; aralığında istədiyimiz qədər HTML tagi yaza bilərik. Bu metoddan istifadə etmək üçün ilk növbədə <<<RMA yazırıq. Diqqətinizə çatdırmalıyam ki, göstərdiyim kimi yazılmalıdır. Simvollar ilə RMA arasında boşluq olmamalıdır. Əslində burada yazdığımız RMA'nın xüsusi bir mənası yoxdur. Yəni RMA əvəzinə istədiyiniz bir şeyi yaza bilərsiniz. Əsas olan birinci yazılış qaydasını düzgün yazmaq (Məsələn: <<<AZE) və yuxarıda yazdığımızı sonda da yazaraq, sonuna nöqtəli vergül (;) yazaq.
PHP Environment-i görmək üçün bu koddan istifadə etmək olar.
<?php
phpinfo();
?>
Hər bir proqramlaşdırma dili kimi PHPdə də operatorlar mövcuddur. Bir kodu uzun-uzun açıqlamaq mümkün deyildir. Çünki hər bir proqramlama dili kimi PHP dilinin də müəyyən qanunları mövcuddur ki, onlara əməl etmək lazımdır. Məsələn "və", "topla", "çıx", "səhv" və digər ifadələri operatorlar vasitəsi ilə deyə bilərik. Başlanğıcda öyrənilməsi çox vacib olan operatorlar mövcuddur.
Operator | Açıqlama | Nümunə | Nəticə |
---|---|---|---|
+ | Toplama operatoru | <?php echo 3 + 3; ?>
|
6 |
- | Çıxma operatoru | <?php echo 7 - 1; ?>
|
6 |
* | Vurma operatoru | <?php echo 3 * 2; ?>
|
6 |
/ | Bölmə operatoru | <?php echo 6 / 2; ?>
|
3 |
Yuxarıda göstərilənlər riyazi operatorlardır.
Aşağıda göstərilən operatorlar PHPdə ən çox istifadə edilən operatorlardır. Bunlara qarşılaşdırma operatorları deyilir. Bu operatorlar, verdiyimiz iki dəyəri, bir-biri ilə qarşılaşdırma funksiyası daşıyır. Aşağıda bu operatorlar sadalanmışdır.
Operator | Açıqlama | Nümunə | Mənası | Dəyər |
---|---|---|---|---|
== | Bərabərdir | 4 == 9 | 4, 9a bərabərdir | Səhvdir (false) |
!= | Bərabər deyil | 4 != 9 | 4, 9a bərabər deyildir | Düzgündür (true) |
> | Böyükdür | 4 > 9 | 4, 9dan böyükdür | Səhvdir (false) |
< | Kiçikdir | 4 < 9 | 4, 9dan kiçikdir | Düzdür (true) |
<> | Böyükdür vəya kiçikdir | 4 <> 9 | 4, 9dan böyükdür vəya kiçikdir. | Düzdür (true) |
<= | Kiçik-bərabərdir | 4 <= 9 | 4, 9a kiçik-bərabərdir | Düzdür (true) |
>= | Böyük-bərabərdir | 4 >= 9 | 4, 9a böyük-bərbərdir | Səhvdir (false) |
Yuxarıda göstərdiyimiz operatorlar çox vacibdir. İrəlidə bu kodlara ehtiyacınız olacaq.
Aşağıda məntiq operatorları və onlara aid nümunələr göstərilib. Qeyd etməliyəm ki, ikili olanlarda, həm sağ, həm də sol tərəf düzgündürsə (true) olar, biri düzgün digəri səhv və ya hər ikisi səhv olarsa, (false) olar.
Operator | Açıqlama | Nümunə | Mənası | Dəyər |
---|---|---|---|---|
&& | Və | (7== 16 && 11 ==11) | 7, 16ya və 11, 11ə bərabərdir | Səhvidr (false) |
|| | Vəya | (7== 5 || 9 ==3) | 7, 5ə bərabərdir vəya 9, 3ə bərabərdir | Səhvdir (false) |
! | Deyil | !(7==5) | 7, 5ə bərabər deyil. | Düzdür (true) |
Hər bir proqramala dili kimi, PHP də müxtəlif məsələləri həll etməyə qadirdir. Riyazi məsələlər isə bunların arasında mövcud olan ən sadələrindəndir. Aşağıda göstərilən koda nəzər salaq.
<?php $x = 1; $y = 2; $z = 3; $netice = $x + $y - $z; // Burada PHP x, y və z'ə verdiyimiz dəyərlər üzərində riyazi əməllər yerinə yetirir. echo $netice; // Alınan nəticə ekrana yazıldı. ?>
Ekranda çıxacaq:
0
Qeyd etdiyimiz kimi, yuxarıdakı nümunədə x, y və z'ə verdiyimiz dəyərlərin üzərində kiçik riyazi əməllə etdik. Burada əsas olan echo
əmrindən istifadə zamanı " "
işarəsindən istifadə edilməməsidir. Əgər " "
işarəsindən istifadə etsəydik, PHP bizə, 1 + 2–3 olaraq göstərəcəkdi.
Burada echo
əmrindən istifadə zamanı ()
dən istifadə edə bilərik. Növbəti nümunəyə baxaq;
<?php $x = 1; $y = 2; $z = 3; $n = 4; echo (($x + $y + $z + $n)+($x + $y + $z + $n)/2); ?>
Ekranda çıxacaq:
10
Yuxarıda göstərdiyimiz nümunədə isə iki məsələni ( )
daxilinə alaraq, bir-biri ilə topladıq. Nəticəni də echo vasitəsilə ekrana yazdırdıq. Lakin burada diqqət edəcəyiniz bir şey var. Belə ki, echo əmrinin özünün də mötərizəsi var. Belə ki;
echo( (birinci) + (ikinci) );
kimi bir misal mövcuddur. PHP bu iki mötərizənin daxilində mövcud olan ədədləri hesablayır və sonra mötərizələri açaraq problemi həll edir. Son olaraq isə alınan nəticəni ekrana yazdırır. İlk və son mötərizə echo
nun öz mötərizəsidir, daxildə mövcud olanlar isə misalların mötərizələridir.
PHP dili, axını bol olan bir proqramlaşdırma dilidir. Bu axını yoxlamaq, filtrləmək, nəzarət altına almaq, redaktə etmək və yoxlamaq üçün bəzi ifadələr mövcuddur. Eyni zamanda bu ssenariyə riyazi ehtimal da qazandırır. Bu ifadələr, kodların daxilində iç-içə keçərək, axını qaydasına salar.
Hər bir proqramlaşdırma dilində olduğu kimi PHP dilində də IF ifadəsi mövcuddur. Mənası ƏGƏR-dir. Bu ifadə; əgər bu belədirsə, bunu et vəya əgər bu belə deyilsə, bunu etmə. Həmçinin əgər bu baş verərsə, bunu et vəya etmə əmrini vermək üçün istifadə edilir.
<?php $x = 1; $y = 2; if ($x == $y) // Əgər göstərilən ədəd True(düzgün)dürsə... echo "Göstərilən dəyərlər bir-birinə bərabərdir."; // Ekrana bunu yazdır. else // Əgər False(səhv)dirsə... echo "Göstərilən dəyərlər bir-birinə bərabər deyildir."; // Ekrana bunu yazdır. ?>
Yuxarıda göndərdiyimiz istəyə, PHP cavab verir;
Göstərilən dəyərlər bir-birinə bərabər deyildir.
Yuxarıda nümunə olaraq göstərdiyimiz kodu izah etsək; biz burada x və y'ə dəyərlər verdik və PHP'ə bu dəyərlərin bir-birinə bərabər və ya qeyribərabər olduğu barədə sorğu göndərdik. PHP bu dəyərləri nəzərdən keçirdi və bizə cavab verdi. IF
əmri ümumi olaraq ELSE
ilə istifadə edilir. Yəni (if) əgər bu belədirsə, bunu et, (else) elə deyilsə, bunu et.
DİQQƏT: Əgər yuxarıdakı nümunədəki kimi sadə, tək iş əmr edirsinizsə, if, elseif və ya elseni { }
işarələri ilə bağlamağa ehtiyac yoxdur. Lakin uzun bir prosesdirsə, burada { }
işarələrindən istifadə edilməsi zəruridir!
<?php $x = 1; $y = 2; if ($x == $y) { echo "Göstərilən dəyərlər bir-birinə bərabərdir."; echo "Yəni:<br />"; echo $x . "və" . $y . "bir-biri ilə eyni dəyərdədir."; } else { echo "Göstərilən dəyərlər bir-birinə bərabər deyildir."; echo "Yəni:<br />"; echo $x . "və" . $y . "bir-biri ilə eyni dəyərdə deyildir."; } ?>
Ekranda çıxacaq:
Göstərilən dəyərlər bir-birinə bərabər deyildir. Yəni: 1 və 2 bir-biri ilə eyni dəyərdə deyildir.
Burada siz diqqət etməlisiniz ki, if ifadəsinə birdən daha çox əmr verdiyimiz üçün { }
işarələrindən istifadə edilməsi zəruriləşdi.