PHP 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.
Rasmus Lerdorf PHP'nin yaradıcısı.
Ü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 (OpenSource). 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.