PHP (ing. PHP: Hypertext Preprocessor) dinamik veb səhifələr yaratmaq üçün nəzərdə tutulmuş bir skriptləşdirmə dilidir.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 |
Müəlliflər | Rasmus Lerdorf |
Tərtibatçılar | Rasmus Lerdorf, Andi Qutmans, Zeev Suraski |
Fayl sonluğu | .php və ya .phar |
Sonuncu versiyası |
|
Təsirlənib | , Perl, C, Java, Tcl, HTML, JavaScript |
Əməliyyat sistemi | Unix bənzəri, Microsoft Windows |
php.net | |
Vikianbarda əlaqəli mediafayllar |
Tarixi
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ədi ilə 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.
Üstünlükləri
- PHP demək olar ki, hər platformada işləyə bilir. PHP eyni kod əsasını istifadə etdiyi üçün, UNIX, Windows (95/98/NT/2000) və Mac OS daxil olmaq üzrə 25 platformada yığılıb qurula bilər. Kodlar eyni olduğundan scriptə platformadan müstəqil olaraq çalışacaq.
- PHP, fayl uzantısı ala bilməkdədir. Tətbiqin içərisində iştirak edən nüvə mühərrik (Zend tərəfində yazıldı), bir sıra sadə kod modullarından və kod uzantılarından ibarətdir. Bu səbəblə programcılara PHP uzadılmaları yaradaraq bəzi xüsusi əməliyyatlarını edə bilmələri üçün iki variant təqdim edilir; ya uzantı modullarını yazaraq tətbiq oluna bilən bir yığma etmək, ya da PHP-nin dinamik yükləmə mexanizmi yüklənə tətbiq oluna uzatmalar yaratmaq.
- PHP bir çox HTTP server interfeysi saxlayır. PHP apacheyə, AOL server'a, Roxen və THTTPD'ye birbaşa yüklənə bilir. Alternativ olaraq CGI modulu olaraq da istifadə edilə bilər.
- PHP bir çox məlumat bazası interfeysi saxlayır. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL və digərləri birbaşa işləyə bilir. Bunlar ikili ədəd düzenindeki interfeysləri ibarətdir və bu həllər üçün verilənlər bazasının dəstəklənmədiyi yerlərdə ODBC dəstəyi təmin edir.
- Bir PHP istifadəçisi hər hansı bir kitabxana üçün interfeys təşkil çətinlik çəkməz. Bir çox istifadəçi bu yolu seçmiş, qrafik təkrarlananları, PDF faylları, Flash Movie'leri, Cybercash xətkeş / cədvəlləri, XML, IMAP, POP və digərləri əlaqədar modullar tapa bilmişdir.
- Pear, PHP-nin davamı və Add-on anbarıdır. Pear, Perl üçün inkişaf etdirilən CPAN'e bənzəyir. Hələ də başlanğıc mərhələsində olmasına baxmayaraq pear, PHP-nin kurulumuyla birlikdə gələcək bir sıra PHP script'ini istifadəyə təqdim etməkdədir.
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.
- Elastik bir dildir. Sürətli olaraq qəliz saytlar hazırlana bilər
- Açıq Qaynaqlıdır (). Könüllü istifadəçilər tərəfindən inkişaf və istifadə ettirilir. Öyrənmək üçün qaynaq tapmaq asandır.
- Müxtəlif istifadəçilər tərəfindən yazılmış çox sayda sinifleri ve kitabxanaları var
Zəif tərəfləri
- İnterpretasiya olunan bir dildir, bu da proqramın gec işləməsi ilə nəticələnir.
- Dil səviyyəsində yazılmış funksiyalar üçün xüsusi bir konvensiya yoxdur. Bəzi funksiyalar bitişik, bəziləri "_" işarəsi ilə ayrılır. Məsələn: strlen və str_split.
Məlumat Tipləri
- * PHP məlumat tiplərinə daxildir. PHP'dəki kod quruluşuna görə hər cür məlumatı yalnız bir dəfə təyin etmək ilə kodun hər yerində istifadə edə bilərsiniz. Məlumat tipləri əsas olaraq 8 dənədir:
- Boolean: Ən sadə növdür. Bir məntiqi ifadənin nəticəsi TRUE və ya FALSE olan bir düzgünlük dəyəridir. Məsələn 0, "FALSE", 0.0, "Xidmətçisiz Dize", "Boş", "NULL" FALSE (səhv) verər.
- Integer (int): Tam ədədlərdir. — Sonsuzluqdan, + sonsuzluğa qədər olan hər tam ədəd yəni onalıksız sayı bir integer. Sayı olduqları üçün "", , içərisinə konulmaları lazım deyil. Məsələn −312, −1, 0, 4511, 2, 636626213 kimi …
- Float: Bütün Real ədədlər yəni Gerçək Ədədlər Float növünə mənsubdur. — Sonsuzluqdan + sonsuzluğa qədər olan onluq ədədlər, rasional ədədlər, irrasyonel ədədləri daxildir. Sayı olduqları üçün "", , içinə yazılmaları lazım deyil. Məsələn −54233.3, −523.13125415, 0.0, 31.1, 4242.442, 2.222 kimidir.
- String (küç): Bütün yazı cinslərindən daxildir. PHPdə string təyin mütləq amma mütləq "", , işarələrindən hər hansı birinin içinə qoymaq lazımdır. Nümunə olaraq "Salam", "Necəsən?", 'PHP yazısıdır', 'Bu bir string' kimidir.
- Array: Bölümləri. Yəni birdən çox dəyər. PHPdə dəyərləri ifadə $ ad ifadəsini istifadə edilir. Buna görə $ ad [1], $ ad [2] kimi ifadələr ola bilər.
- Object (obj): obyektlərdir. Class yəni sinif yazarkən obyekt əsaslı istifadə edilir.
- Resource: Qaynaq tipidir. Məlumat bazasından gələn məlumatların dəyişən olmasından qaynaqlı bu tip ilə saxlanılır.
- NULL: Undefined, elan edilməmiş, Yox, Naməlum, Hökmsüz ifadələrdir. Əgər bir dəyişən "", , ya da empty isə NULL deyil, çünki boş bir string olar. NULL isə heç təyin olunmamış şeylərdir.
PHPdə kod quruluşu
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.
1. Açma və bağlama tagləri
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.
2. Şərh vermə
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.
3. Ekrana yazdırma
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.
5. Dəyişənlər
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.
6. HTML daxilində php istifadə etmək
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 öncə <<<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(); ?>
Operatorlar
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.
1. Riyazi operatorlar
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.
2. Qarşılaşdırma operatorları
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.
3. Məntiq operatorları
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) |
PHPdə riyaziyyat
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əsi ilə 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.
Ehtimal və yoxlama ifadələri
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.
If, Else, Elseif
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 prossesdirsə, 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.
Xarici keçidlər
- http://www.php.net/
Həmçinin bax
- http://php.net/manual/en/history.php.php.
- Version 8.3.8.
- Google Groups.
- PHP: History of PHP - Manual.
- http://lerdorf.com/bio/ (ing.).
- https://fileinfo.com/extension/php.
- https://www.php.net/manual/en/book.phar.php.
- PHP: Preface - Manual.
- Rasmus Lerdorf | PHP on Hormones. 2013.
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
PHP ing PHP Hypertext Preprocessor dinamik veb sehifeler yaratmaq ucun nezerde tutulmus bir skriptlesdirme dilidir PHP Esasen veb hellerin yaradilmasinda istifade edilen populyar server proqramlasdirma dilidir Meselen formadaki melumatlari qebul ederek emal eden skript yaratmaq saytda axtaris sistemi reallasdirmaq ve ya qeydiyyat sistemi yaratmaq mumkundur 1994 cu ilde Rasmus Lerdorf CGI aletlerini yazmaga basladi ve daha sonra 1995 ci ilde onlari mukemmellesdirerek PHP dilini ortaya cixartdi Ekser hallarda PHP Linux emeliyyat sistemi MySQL melumatlar bazasi ve Apache veb serveri qisa olaraq LAMP kimi Linux Apache MySQL PHP yazilir PHPParadiqmalar Obyekt yonumlu proqramlasdirma RefleksiyaYaradilma tarixi 8 iyun 1995Muellifler Rasmus LerdorfTertibatcilar Rasmus Lerdorf Andi Qutmans Zeev SuraskiFayl sonlugu php ve ya pharSonuncu versiyasi 8 3 8Tesirlenib C Perl C Java Tcl HTML JavaScriptEmeliyyat sistemi Unix benzeri Microsoft Windowsphp net Vikianbarda elaqeli mediafayllarTarixiPHP dili 1995 ci ilde yaradilmisdir Ilk evveller onun adi Personal Home Page sozlerinin bas herflerinin birlesmesinden emele gelmisdir Daha sonralar daha ciddi ad fikirlesmek meqsedi ile Hypertext Preprocessor adi verildi Lakin HPP bir o qeder yaxsi seslenmediyinden PHP adi qaldi 2004 cu ilden PHP obyekt yonumlu dil kimi istifade olundu Mehz bu ilde Zend sirketi PHP ucun yeni obyekt modeli tetbiq etmeye basladi PHP5 versiyasinda artiq obyektler uzvleri metodlar xasseler private protected public static final kimi ola biler interfeyslerden istifade oluna biler 2009 cu ilde Zend sirketi PHP ucun Zend Server platformasini yaratdi Zend Serverde PHP kodlar kompilyasiya olunub bayt kodlar seklinde qalir ve bu da oz novbesinde kodun daha suretli islemesine sebeb olur UstunlukleriRasmus Lerdorf PHP nin yaradicisi PHP demek olar ki her platformada isleye bilir PHP eyni kod esasini istifade etdiyi ucun UNIX Windows 95 98 NT 2000 ve Mac OS daxil olmaq uzre 25 platformada yigilib qurula biler Kodlar eyni oldugundan scripte platformadan musteqil olaraq calisacaq PHP fayl uzantisi ala bilmekdedir Tetbiqin icerisinde istirak eden nuve muherrik Zend terefinde yazildi bir sira sade kod modullarindan ve kod uzantilarindan ibaretdir Bu sebeble programcilara PHP uzadilmalari yaradaraq bezi xususi emeliyyatlarini ede bilmeleri ucun iki variant teqdim edilir ya uzanti modullarini yazaraq tetbiq oluna bilen bir yigma etmek ya da PHP nin dinamik yukleme mexanizmi yuklene tetbiq oluna uzatmalar yaratmaq PHP bir cox HTTP server interfeysi saxlayir PHP apacheye AOL server a Roxen ve THTTPD ye birbasa yuklene bilir Alternativ olaraq CGI modulu olaraq da istifade edile biler PHP bir cox melumat bazasi interfeysi saxlayir PHP MySQL MS SQL Oracle Informix PostgreSQL ve digerleri birbasa isleye bilir Bunlar ikili eded duzenindeki interfeysleri ibaretdir ve bu heller ucun verilenler bazasinin desteklenmediyi yerlerde ODBC desteyi temin edir Bir PHP istifadecisi her hansi bir kitabxana ucun interfeys teskil cetinlik cekmez Bir cox istifadeci bu yolu secmis qrafik tekrarlananlari PDF fayllari Flash Movie leri Cybercash xetkes cedvelleri XML IMAP POP ve digerleri elaqedar modullar tapa bilmisdir Pear PHP nin davami ve Add on anbaridir Pear Perl ucun inkisaf etdirilen CPAN e benzeyir Hele de baslangic merhelesinde olmasina baxmayaraq pear PHP nin kurulumuyla birlikde gelecek bir sira PHP script ini istifadeye teqdim etmekdedir Xeta nezareti Cold Fusion ya da ASP uiygulamasindaki qeder tesirli deyil IDE ve debugger tetbiqi yoxdur IDE nin bir cox istifadeci ucun cox bir ehemiyyeti yoxdur Ancaq debugger Zend terefinden yaxin gelecekde inkisaf etdirilecek PHP ve diger script dillerini ne vaxt istifade edeceksiniz Eger bir UNIX ya da Linux platformasi uzerinde is gorursunuzse Perl ve PHP her ikisi de isleriniz ucun idealdir Her ikisi de baslangic merhelesinde script yazmagi asanlasdirir Windows platformundaysa ASP ve Cold Fusion suverenliyi var Eslinde buradaki secim texniki olmasindan cox siyasi sayilir ASP ile IIS ehtimalla PHP ile IIS den daha yaxsi Ancaq tamamile texniki bir altyapida PHP WindowsNT on diger platformlardaki ustunluye catmaqdadir Elastik bir dildir Suretli olaraq qeliz saytlar hazirlana biler Aciq Qaynaqlidir Konullu istifadeciler terefinden inkisaf ve istifade ettirilir Oyrenmek ucun qaynaq tapmaq asandir Muxtelif istifadeciler terefinden yazilmis cox sayda sinifleri ve kitabxanalari varZeif terefleri Interpretasiya olunan bir dildir bu da proqramin gec islemesi ile neticelenir Dil seviyyesinde yazilmis funksiyalar ucun xususi bir konvensiya yoxdur Bezi funksiyalar bitisik bezileri isaresi ile ayrilir Meselen strlen ve str split Melumat Tipleri PHP melumat tiplerine daxildir PHP deki kod qurulusuna gore her cur melumati yalniz bir defe teyin etmek ile kodun her yerinde istifade ede bilersiniz Melumat tipleri esas olaraq 8 denedir Boolean En sade novdur Bir mentiqi ifadenin neticesi TRUE ve ya FALSE olan bir duzgunluk deyeridir Meselen 0 FALSE 0 0 Xidmetcisiz Dize Bos NULL FALSE sehv verer Integer int Tam ededlerdir Sonsuzluqdan sonsuzluga qeder olan her tam eded yeni onaliksiz sayi bir integer Sayi olduqlari ucun icerisine konulmalari lazim deyil Meselen 312 1 0 4511 2 636626213 kimi Float Butun Real ededler yeni Gercek Ededler Float novune mensubdur Sonsuzluqdan sonsuzluga qeder olan onluq ededler rasional ededler irrasyonel ededleri daxildir Sayi olduqlari ucun icine yazilmalari lazim deyil Meselen 54233 3 523 13125415 0 0 31 1 4242 442 2 222 kimidir String kuc Butun yazi cinslerinden daxildir PHPde string teyin mutleq amma mutleq isarelerinden her hansi birinin icine qoymaq lazimdir Numune olaraq Salam Necesen PHP yazisidir Bu bir string kimidir Array Bolumleri Yeni birden cox deyer PHPde deyerleri ifade ad ifadesini istifade edilir Buna gore ad 1 ad 2 kimi ifadeler ola biler Object obj obyektlerdir Class yeni sinif yazarken obyekt esasli istifade edilir Resource Qaynaq tipidir Melumat bazasindan gelen melumatlarin deyisen olmasindan qaynaqli bu tip ile saxlanilir NULL Undefined elan edilmemis Yox Namelum Hokmsuz ifadelerdir Eger bir deyisen ya da empty ise NULL deyil cunki bos bir string olar NULL ise hec teyin olunmamis seylerdir PHPde kod qurulusuPHP nin qurulusu C Perl ve Java diline oxsayir PHP XXI esrde meshurlasmisdir PHP daxilinde HTMLden de istifade etmek mumkundur Bunun ucun lt php acma taginden ve gt baglama taginden istifade edilmelidir 1 Acma ve baglama tagleri PHPde kod yazmaga basladiginiz zaman acma ve baglama tagleri gosterilmelidir Eks teqdirde PHP bunu oxuya bilmir Bunu lt php gt yaza bilersiniz lt php ile PHP kodlari yazmaga baslayir ve gt ile bitir Eger yazacaginiz her hansi bir kod gt kenarinda qalarsa PHP onu qebul etmez 2 Serh verme PHPde movcud olan bu funksiya ile siz yazdiginiz kodlara serh vere bilersiniz Meselen lt php Burada tek setrlik serh yaza bilersiniz Burada ise Cox setrli Kod yaza Bilersiniz gt Verilen serhi PHP oxumur ve araliginda yazilan yazilar ekranda gorunmur 3 Ekrana yazdirma PHPde istediyiniz bir seyi ekrana yazdirmaq ucun iki yol movcuddur print ve echo Bunlar arasinda esasen echodan istifade olunur Meselen lt php echo Bu menim ilk isimdir gt Ekranda cixacaq Bu menim ilk isimdir PHP echo daxilinde yazilan yazini ekranda gosterer Yazilan yazi araliginda yazilmagi ve sonuna qoyulmasini teleb edir Eks teqdirde kod islemeyecek Lakin yazacaginiz yazi reqemlerden ibaretdirse o zaman isaresine gerek qalmir Meselen lt php echo 6 gt Ekranda cixacaq 6 Gorduyumuz kimi reqem yazarken isarelerine ehtiyac qalmir Hemcinin deyiskeni de ekrana yazdirarken isarelerine ehtiyac olmur 5 Deyisenler PHP de deyisken yaratmaq ucun isaresinden istifade edilir Meselen lt php deyishken Bu menim ilk deyiskenimdir Burada biz ilk deyiskeni yaratmis olduq Deyiskene istediyiniz adi vere bilersiniz echo deyishken Burada ise deyishken i daxiline almadiq Lakin istesek ala bilerik gt Ekranda cixacaq Bu menim ilk deyiskenimdir 6 HTML daxilinde php istifade etmek HTML sehifelerin daxilde php proqramlar yazila biler Bu zaman php bu fayli oxuyarken onu ancaq yazi kimi qebul edir Lakin xususi teqlere rast geldikde artiq onu php kod kimi basa dusur ve baglayici teqe qeder olan setirleri tercume etmeye baslayir Basa dusduyunuz kimi HTML icerisine php kod daxil etdikde onu xususi teqler arasinda yazmaq lazimdir ki hemin hisseleri php kimi tercume etsin Eks halda onlari da yazi kimi oxuyacaq Bu teqler muxtlelif formada ola biler Bunu etmeyin bir cox yolu var Meselen lt php echo HTML ile iseleyerken bele edin n gt lt echo Daha sade olmasi ucun bele de mumkundur n gt lt operator gt Bu ikisi bir birinin eynidir lt echo operator gt lt script language php gt echo Bu sekilde de php kodu HTML icerisine daxil etmek olar lt script gt Bir basqa yolu ise lt php echo lt html gt echo lt head gt echo lt title gt Bu hissede basliq yazilir lt title gt echo lt head gt echo lt body gt echo lt h2 gt Istediyiniz bir sey yazin lt h2 gt echo lt body gt echo lt html gt gt Gorduyunuz kimi yuxaridaki formada yazilan kod olduqca uzun olur Ayrica bu metod kicik kodlari yazmaq ucundur Coxlu HTML tag ini PHP daxilinde yaziriqsa o zaman bunun ucun alternativ bir yolumuz da var lt html gt lt head gt lt title gt Coxlu yazi ve HTML tag i lt title gt lt head gt lt body gt lt h3 gt Coxlu yazi ve HTML tag i lt h3 gt lt php rma lt lt lt RMA Buraya istediyimiz qeder yazi ve ya HTML tag i yaza bilerik lt h1 gt Coxlu yazi ve HTML tag i lt h1 gt RMA echo rma gt lt body gt lt html gt Yuxarida yazdigimiz kodda RMA ve RMA araliginda istediyimiz qeder HTML tagi yaza bilerik Bu metoddan istifade etmek ucun ilk once lt lt lt RMA yaziriq Diqqetinize catdirmaliyam ki gosterdiyim kimi yazilmalidir Simvollar ile RMA arasinda bosluq olmamalidir Eslinde burada yazdigimiz RMA nin xususi bir menasi yoxdur Yeni RMA evezine istediyiniz bir seyi yaza bilersiniz Esas olan birinci yazilis qaydasini duzgun yazmaq Meselen lt lt lt AZE ve yuxarida yazdigimizi sonda da yazaraq sonuna noqteli vergul yazaq PHP Environment i gormek ucun bu koddan istifade etmek olar lt php phpinfo gt Operatorlar Her bir proqramlasdirma dili kimi PHPde de operatorlar movcuddur Bir kodu uzun uzun aciqlamaq mumkun deyildir Cunki her bir proqramlama dili kimi PHP dilinin de mueyyen qanunlari movcuddur ki onlara emel etmek lazimdir Meselen ve topla cix sehv ve diger ifadeleri operatorlar vasitesi ile deye bilerik Baslangicda oyrenilmesi cox vacib olan operatorlar movcuddur 1 Riyazi operatorlar Operator Aciqlama Numune Netice Toplama operatoru lt php echo 3 3 gt 6 Cixma operatoru lt php echo 7 1 gt 6 Vurma operatoru lt php echo 3 2 gt 6 Bolme operatoru lt php echo 6 2 gt 3 Yuxarida gosterilenler riyazi operatorlardir 2 Qarsilasdirma operatorlari Asagida gosterilen operatorlar PHPde en cox istifade edilen operatorlardir Bunlara qarsilasdirma operatorlari deyilir Bu operatorlar verdiyimiz iki deyeri bir biri ile qarsilasdirma funksiyasi dasiyir Asagida bu operatorlar sadalanmisdir Operator Aciqlama Numune Menasi Deyer Beraberdir 4 9 4 9a beraberdir Sehvdir false Beraber deyil 4 9 4 9a beraber deyildir Duzgundur true gt Boyukdur 4 gt 9 4 9dan boyukdur Sehvdir false lt Kicikdir 4 lt 9 4 9dan kicikdir Duzdur true lt gt Boyukdur veya kicikdir 4 lt gt 9 4 9dan boyukdur veya kicikdir Duzdur true lt Kicik beraberdir 4 lt 9 4 9a kicik beraberdir Duzdur true gt Boyuk beraberdir 4 gt 9 4 9a boyuk berberdir Sehvdir false Yuxarida gosterdiyimiz operatorlar cox vacibdir Irelide bu kodlara ehtiyaciniz olacaq 3 Mentiq operatorlari Asagida mentiq operatorlari ve onlara aid numuneler gosterilib Qeyd etmeliyem ki ikili olanlarda hem sag hem de sol teref duzgundurse true olar biri duzgun digeri sehv ve ya her ikisi sehv olarsa false olar Operator Aciqlama Numune Menasi Deyer amp amp Ve 7 16 amp amp 11 11 7 16ya ve 11 11e beraberdir Sehvidr false Veya 7 5 9 3 7 5e beraberdir veya 9 3e beraberdir Sehvdir false Deyil 7 5 7 5e beraber deyil Duzdur true PHPde riyaziyyat Her bir proqramala dili kimi PHP de muxtelif meseleleri hell etmeye qadirdir Riyazi meseleler ise bunlarin arasinda movcud olan en sadelerindendir Asagida gosterilen koda nezer salaq lt php x 1 y 2 z 3 netice x y z Burada PHP x y ve z e verdiyimiz deyerler uzerinde riyazi emeller yerine yetirir echo netice Alinan netice ekrana yazildi gt Ekranda cixacaq 0 Qeyd etdiyimiz kimi yuxaridaki numunede x y ve z e verdiyimiz deyerlerin uzerinde kicik riyazi emelle etdik Burada esas olan echo emrinden istifade zamani isaresinden istifade edilmemesidir Eger isaresinden istifade etseydik PHP bize 1 2 3 olaraq gosterecekdi Burada echo emrinden istifade zamani den istifade ede bilerik Novbeti numuneye baxaq lt php x 1 y 2 z 3 n 4 echo x y z n x y z n 2 gt Ekranda cixacaq 10 Yuxarida gosterdiyimiz numunede ise iki meseleni daxiline alaraq bir biri ile topladiq Neticeni de echo vasitesi ile ekrana yazdirdiq Lakin burada diqqet edeceyiniz bir sey var Bele ki echo emrinin ozunun de moterizesi var Bele ki echo birinci ikinci kimi bir misal movcuddur PHP bu iki moterizenin daxilinde movcud olan ededleri hesablayir ve sonra moterizeleri acaraq problemi hell edir Son olaraq ise alinan neticeni ekrana yazdirir Ilk ve son moterize echonun oz moterizesidir daxilde movcud olanlar ise misallarin moterizeleridir Ehtimal ve yoxlama ifadeleri PHP dili axini bol olan bir proqramlasdirma dilidir Bu axini yoxlamaq filtrlemek nezaret altina almaq redakte etmek ve yoxlamaq ucun bezi ifadeler movcuddur Eyni zamanda bu ssenariye riyazi ehtimal da qazandirir Bu ifadeler kodlarin daxilinde ic ice kecerek axini qaydasina salar If Else Elseif Her bir proqramlasdirma dilinde oldugu kimi PHP dilinde de IF ifadesi movcuddur Menasi EGER dir Bu ifade eger bu beledirse bunu et veya eger bu bele deyilse bunu etme Hemcinin eger bu bas vererse bunu et veya etme emrini vermek ucun istifade edilir lt php x 1 y 2 if x y Eger gosterilen eded True duzgun durse echo Gosterilen deyerler bir birine beraberdir Ekrana bunu yazdir else Eger False sehv dirse echo Gosterilen deyerler bir birine beraber deyildir Ekrana bunu yazdir gt Yuxarida gonderdiyimiz isteye PHP cavab verir Gosterilen deyerler bir birine beraber deyildir Yuxarida numune olaraq gosterdiyimiz kodu izah etsek biz burada x ve y e deyerler verdik ve PHP e bu deyerlerin bir birine beraber ve ya qeyriberaber oldugu barede sorgu gonderdik PHP bu deyerleri nezerden kecirdi ve bize cavab verdi IF emri umumi olaraq ELSE ile istifade edilir Yeni if eger bu beledirse bunu et else ele deyilse bunu et DIQQET Eger yuxaridaki numunedeki kimi sade tek is emr edirsinizse if elseif ve ya elseni isareleri ile baglamaga ehtiyac yoxdur Lakin uzun bir prossesdirse burada isarelerinden istifade edilmesi zeruridir lt php x 1 y 2 if x y echo Gosterilen deyerler bir birine beraberdir echo Yeni lt br gt echo x ve y bir biri ile eyni deyerdedir else echo Gosterilen deyerler bir birine beraber deyildir echo Yeni lt br gt echo x ve y bir biri ile eyni deyerde deyildir gt Ekranda cixacaq Gosterilen deyerler bir birine beraber deyildir Yeni 1 ve 2 bir biri ile eyni deyerde deyildir Burada siz diqqet etmelisiniz ki if ifadesine birden daha cox emr verdiyimiz ucun isarelerinden istifade edilmesi zerurilesdi Xarici kecidlerhttp www php net Hemcinin baxhttp php net manual en history php php Version 8 3 8 Google Groups PHP History of PHP Manual http lerdorf com bio ing https fileinfo com extension php https www php net manual en book phar php PHP Preface Manual Rasmus Lerdorf PHP on Hormones 2013