PHP'ye başlangıç: Revizyonlar arasındaki fark

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Değişiklik özeti yok
330. satır: 330. satır:
|-
|-
|}
|}
=== 6-Olasılık ve Denetim İfadeleri ===
PHP, akışı bol olabilecek bir betik dilidir. Bu akışı denetlemek, filtrelemek, kontrol etmek, düzenlemek, değer kazandırmak ve denemek için bazı ifadeler kullanılır. Aynı zamanda bu ifadeler betiğe matematiksel bir olasılık kazandırır. Bu ifadeler kodlar içinde iç içe geçerek akışı denetlerler.
==== 1-If, Elseif, Else ====
Php dili her dildeki gibi "if" deyimine sahiptir. Bu çok sade olarak bildiğimiz "eğer" demektir. Yani "eğer" bir şey olur ise, şunu yap ve şunu yapma ayrıca bu olur ise şunu yap ya da yapma demeye yarar. Aslında daha önceden bilinen "'''Boolean'''" veri tipleri için kullanılırç En basit örnek:
<blockquote style="border: 1px solid blue; padding: 0.5em 0.8em;">
<?php<br>
$x = 1;<br>
$y = 2;<br>
if ($x == $y)      //Eğer bu TRUE(doğru) ise...<br>
    echo "İki sayı birbirine eşittir.";//Bunu yap.<br>
else              //Eğer FALSE(yanlış) ise...<br>
    echo "İki sayı birbirine eşit değildir.";//Bunu yap.<br>
?>
</blockquote>
Sorulan soruya PHP anında cevap verir:<br>
<blockquote style="border: 1px solid blue; padding: 0.5em 0.8em;">
İki sayı birbirine eşit değildir.
</blockquote>
Burada PHP ye sorduk:  "eğer" x ve y eşit ise "İki sayı birbirine eşit" de, ama eğer değil ise "İki sayı birbirine eşit değil." de. Yani demek oluyor ki "if", "eğer" demek bunu söyledikten sonra "else" diyerek eğer buna uymaz ise yapacağı şeyi söyleriz. Unutmayın PHP sadece eco'dan ibaret değildir. İleride "eğer" x, y'ye eşitse, bir işlem yap, "uymuyorsa" başka bir şey yap! PHP bunun için özellikle yapılmış bir dil.
'''ÇOK ÖNEMLİ:'''Eğer yukarıdaki gibi tek iş veriyorsanız her bir if, elseif veya else'e { } ile '''kapatmamalısınız!''' Aşağıdaki örnek gibi olur ise '''kapatmalısınız!'''

17.14, 6 Nisan 2010 tarihindeki hâli

PHP: Hypertext Preprocessor
PHP: Hypertext Preprocessor - PHP
PHP
Şirket/geliştirici: PHP Grubu
Depo: Tüm platformlar
Tür: Web
Lisans: Açık Kaynak
Web sitesi: http://www.php.net/

PHP (eski açılımı: Personal Home Page Türkçe: Kişisel anasayfa. PHP: Hypertext Preprocessor Türkçe: Üstün Yazı Önişlemcisi), sunucu taraflı bir betik dili ve programlama dilidir. PHP, ilk kez Rasmus Lerdorf tarafından, web sayfa ziyaret edenleri izlemek amacıyla bir dizi Perl Script (betik) kullanılarak geliştirilmişti. İnsanlar kısa zamanda bununla ilgilenmeye ve bu konuyla ilgili sorular sormaya başladıklarında, Rasmus kararını verdi ve bir betik(script) motoru oluşturdu. Ayrıca formlara da destek verdi ve böylece PHP/F1 'i biçimlendirmiş oldu. Adını duyurdukça bir grup yazılım geliştirmecinin dikkatini çekti ve böylece bir API oluşturuldu ve PHP3 ortaya çıktı. Daha sonraları yeniden ele alınması gerekti ve Zend motoru PHP4 'ü yaratmış oldu. Artık PHP önünde pek engel bulunmuyordu, böylece PHP daha ünlenmeye başladı. Günümüzde PHP, bloglardan forumlara, portal sistemlerinden veri tabanlarına, yapay sinir ağlarından düşünen sistemlere, sınıflardan fonksiyonlara her türlü işlevde kullanılır.

PHP Gelişimi


Anlamı
Kırmızı Eski sürüm, desteklenmiyor
Sarı Eski sürüm, hala destekleniyor
Yeşil Mevcut sürüm
Mavi Gelecek sürüm ya da BETA, ALFA sürüm




Ana Sürüm Ek Sürüm Yayın Tarhi Notlar
1 1.0.0 1995-06-08 "Personal Home Page Tools(Kişisel Anasayfa Araçları)". olarak anılıyordu ve kısaltımı "PHP" idi.
2 2.0.0 1997-11-01 Yaratıcısı ve geliştiricisi "en hızlı ve en sade araç" olarak, web sayfaları için geliştirdi.
3 3.0.0 1998-06-06 Sürüm kişisellikten, kurumsallığa geçti. Zeev Suraski ve Andi Gutmans tekrar basit dil bilgisini yazdı.
4 4.0.0 2000-05-22 Daha ileri seviye dil bilgisi eklendi/Zend Motoru denilen dil bilgisi denetleyicisi getirildi.
4.1.0 2001-12-10 'Süper globaller' tanıştırıldı. ($_GET, $_POST, $_SESSION, $_SERVER vb...)
4.2.0 2002-04-22 register_globals öntanımlı olarak engellendi.
4.3.0 2002-12-27 Command-line interface(CLI) tanıştırıldı, Common Gateway Interface(CGI) ekleri yapıldı.
4.4.0 2005-07-11 phpize ve php-config betikleri için eklenmeler yapıldı.
4.4.8 2008-01-03 Çoğu güvenlik sorunları ve hatalar düzeltildi. Son kalıcı PHP 4 sürümü oldu. Gerekli ise, güvenlik güncellemeleri 2008-08-08 e kadar sürdü.>
4.4.9 2008-08-07 Daha fazla açık onarıldı. PHP 4 serileri için son sürüm oldu.
5 5.0.0 2004-07-13 Zend Motoru II ile yeni obje modelleri geliştirildi.
5.1.0 2005-11-24 Eklenen değişkenler ile performans artışı gözlemlendi.
5.2.0 2006-11-02 Filtreleme öntenımlı olarak iptal edildi.
5.2.11 2009-09-16 Hata ve güvenlik sorunları çözüldü.
5.2.12 2009-12-17 Güvenlik ve veri tabanı iletişimi güçlendirildi. 60 adet hata düzeltildi.
5.3.0 2009-06-30 Namespace desteği, Atlama kodları (goto ile limitlendi), Yerli PHP arşivlemesi (phar),Windows desteği arttırıldı, sqlite3 geliştirildi, fileinfo, mime_magic yerine daha iyi bir MIME desteği için getirildi, uluslararası olarak ereg kod yapısı iptal edildi.
5.3.1 2009-11-19 100'den fazla hata düzeltildi, bazı küçük sorunlar da düzeltildi.
6 6.0.0 Şu an güncellenmedi, gelecek sürüm 'register_globals' iptal edildi, Unicode, 'magic_quotes' ve 'safe_mode' desteği geldi.

Avantajları

  1. PHP hemen hemen her platformda çalışabiliyor. PHP aynı kod temelini kullandığı için, UNIX, Windows (95/98/NT/2000) ve Mac OS dahil olmak üzere 25 platformda derlenip kurulabilir. Kodlar aynı olduğundan script'ler platformdan bağımsız olarak çalışacaktır.
  2. PHP, uzantı alabilmektedir. Uygulamanın içerisinde yer alan çekirdek motor (Zend tarafında yazıldı), bir dizi asal kod modüllerinden ve kod uzantılarından oluşmaktadır. Bu nedenle programcılara PHP uzantıları yaratarak bazı özel işlemlerini yapabilmeleri için iki seçenek sunuluyor; ya uzantı modüllerini yazarak uygulanabilen bir derleme yapmak, ya da PHP'nin dinamik yükleme mekanizmasıyla yüklenebilecek uygulanabilir uzatmalar yaratmak.
  3. PHP pek çok HTTP server arayüzü barındırıyor. PHP Apache'ye, AOL server'a, Roxen ve THTTPD'ye doğrudan yüklenebiliyor. Alternatif olarak CGI modülü olarak da kullanılabilir.
  4. PHP pek çok veritabanı arayüzü bulunduruyor. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL ve diğerleriyle doğrudan çalışabiliyor. Bunlar ikili sayı düzenindeki arayüzlerden oluşmaktadır ve bu çözümler için veritabanının desteklenmediği yerlerde ODBC desteği sağlıyor.
  5. Bir PHP kullanıcısı herhangi bir kütüphane için arayüz oluşturmakta zorluk çekmez. Pek çok kullanıcı bu yolu seçmiş, grafik rutinleri, PDF dosyaları, Flash Movie'leri, Cybercash cetvelleri, XML, IMAP, POP ve diğerleriyle ilgili modüller bulabilmiştir.
  6. PEAR, PHP'nin uzantısı ve Add-on deposudur. Pear, Perl için geliştirilen CPAN'e benzemektedir. Halen başlangıç aşamasında olmasına rağmen PEAR, PHP'nin kurulumuyla birlikte gelecek bir dizi PHP script'ini kullanıma sunmaktadır.
  7. PHP bir açık kod uygulamasıdır ve pek çok profesyonel kullanıcı için çok şey ifade etmektedir. Basitçe açıklamaya çalışırsak PHP kullanıcıyı, çalışmayan uygulamalar için üretici firmanın keyfini beklemekten, her yıl sistemini belli paralar ödeyerek güncelleme zorunluluğundan kurtarmaktadır.

Eksik yönleri neler Hata denetimi Cold Fusion ya da ASP uıygulamasındaki kadar etkili değil. IDE ve debugger uygulaması bulunmuyor. IDE'nin pek çok kullanıcı için fazla bir önemi yok. Ancak debugger Zend tarafından yakın gelecekte geliştirilecek. PHP ve diğer script dillerini ne zaman kullanacaksınız Eğer bir UNIX ya da Linux platformu üzerinde iş görüyorsanız, Perl ve PHP, her ikisi de çalışmalarınız için ideal. Her ikisi de başlangıç aşamasında script yazmayı kolaylaştırıyor. Windows platformundaysa ASP ve Cold Fusion egemenliği bulunuyor. Aslında buradaki tercih teknik olmasından çok politik sayılır. ASP ile IIS mühtemelen PHP ile IIS'den daha iyi. Ancak tamamen teknik bir altyapıda PHP, WindowsNT üzerinde, diğer platformlardaki performansına ulaşmakta.

Teknik Notlar

- PHP uygulamaları bağımsız çalışabilecek derleyici yapısıyla değil, uyarlayıcı yapısıyla çalışır. - PHP yorumlayıcısı ilgili dosya içindeki betikleri çalıştırarak geriye döndürdüğü sonucu sunucuya tekrar gönderir. - Sunucuya ulaştırılan sonuç İstemci (Client) tarafına HTML dosya olarak yollanır. - PHP ile Sunucu/İstemci mantığında web tabanlı uygulama geliştirilebildiği gibi, UNIX kabuk programlama ve GTK ile de GUI' ye sahip tek başına çalışabilen uygulamalar geliştirmek mümkündür.

Veri Tipleri

PHP veri tipleri içerir. PHP'deki kod yapısına göre her türlü veriyi sadece bir kez deklare etmek ile kodun her yerinde kullanabilirsiniz. Veri tipleri ana olarak 8 tanedir:

  1. Boolean: En basit türdür. Bir mantıksal ifadenin sonucu TRUE veya FALSE olan bir doğruluk değeridir. Örneğin 0, "FALSE", 0.0, "Elemansız Dize", "Boş", "NULL" FALSE(yanlış) verir.
  2. Integer (int): Tam sayılardır. - sonsuzluktan, + sonsuzluğa kadar olan her tam sayı yani ondalıksız sayı bir integerdir. Sayı oldukları için " ",' ',´ ´ içerisine konulmaları gerekmez. Örneğin -312, -1, 0, 4511, 2, 636626213 gibi...
  3. Float: Tüm Reel sayılar yani Gerçek Sayılar Float türüne mensuptur. - sonsuzluktan + sonsuzluğa kadar olan ondalık sayılar, rasyonel sayılar, irrasyonel sayıları içerir. Sayı oldukları için " ",' ', ´ ´ içine yazılmaları gerekmez. Örneğin -54233.3, -523.13125415, 0.0, 31.1, 4242.442, 2.222 gibidir.
  4. String (str): Tüm yazı cinslerini içerir. PHP'de string belirlerken mutlaka ama mutlaka " ", ' ', ´ ´ işaretlerinden herhangi birinin içine koymak gerekir. Örnek olarak "Merhaba", "Nasılsın?", 'PHP yazısıdır', ´Bu bir string´ gibidir.
  5. Array: Dizidir. Yani birden çok değer barındır. PHP'de değerleri belirtirken $ad ifadesini kullanırız. Buna göre $ad[1], $ad[2] gibi ifadeler olabilir.
  6. Object (obj): Nesnelerdir. Class yani sınıf yazarken nesne tabanlı kullanılır.
  7. Resource: Kaynak tipidir. Veri tabanından gelen bilgilerin değişken olmasından kaynaklı bu tip ile kaydedilir.
  8. NULL: Tanımsız, deklare edilmemiş, Yok, Belirsiz, Geçersiz ifadelerdir. Eğer bir değişken " ", ' ', ´ ´ ya da empty ise NULL değildir çünkü boş bir string olur. NULL ise hiç tanımlanmamış şeylerdir.

PHP Kod Yapısı

PHPCode_HelloWorld


1-Başlangıç

PHP, 21. yüzyılın ilerleyen dillerinden biridir. Kod yapısı tıpkı C, JavaScript ve Perl'e benzer. HTML gömülüdür yani HTML kodları içerisinde kullanılabilir.

1-PHP'ye başlangıç

PHP kodunu yazmaya başlamak için onu belirtmek zorundasınız. Yoksa PHP yorumlayıcıları PHP ile yazdığınızı anlamaz. Bunu:

   <?php

   ?>

Yazarak yapabilirsiniz. <?php PHP ile yazmayı başlatır, ?> ise bitirir. Artık bu kodu her türlü ama her türlü PHP kodunda görebilirsiniz. Eğer herhangi bir kod ?> dışında kalırsa o kod geçersiz sayılır ve PHP anlamaz.

2-Yorumlar

Yorumlar çok karışık kodları düzenler. Ama şunu unutmayın asla bir yorum çıktı yani görüntü vermez. Örnek:

  <?php
  // Bu bir PHP yorumudur!
  ?>

Burada herhangi bir çıktı yoktur. Çıktı, ekranda görülen, ifade, yazı, simge, işaret, sayı gibi görüntülerdir. Burada sadece bir yorum yazmış olursunuz. Eğer çok karışık bir kod yazarsanız, bu ifade ile yer belirtebilirsiniz. Bu yazımı hızlandırır ve kod anlaşırlığı sağlar.

2-Yazı Yazma

PHP'de yazı yazmak için bazı ifadeler kullanılır. Fakat en başta echo komutu, gösterim için kullanılır. Bunun dışında başka komutlar da vardır.

  <?php
  echo "İlk php örneğim."; 
  ?>

PHP basit bir "echo" komutu ile karşısındaki yazıyı gösterir ve, ; simgesi ile yapılan işi bitirir. Bu işaret çok önemlidir, eğer bundan sonra başka satır yazılırsa PHP, Parser Eror yani dil bilgisi yanlışı verir. Eğer buradaki gibi yazı (string) yazarsanız " " içine almanız gerekir; eğer sayı (integer) yazarsanız " " gerekmez. Buradaki örnek gibi:

  <?php
  echo 5; 
  ?>

Görüldüğü gibi PHP bir sayıyı direkt anlayarak " " ifadelerine ihtiyaç duymadı. Aynı şekilde değişken kullanırken de " " ihtiyacı yoktur.

3-Değişken Oluşturma

PHP her türlü değişkeni her an, her yerde kullanmak üzere yaratabilir, hatta onu özel komutlar ile değiştirebilir. Fakat PHP'de atama değer yoktur. Yani kodun her yerinde değişkenin ismini ve değerini oluşturabilir, bunu isterseniz değiştirebilirsiniz, fakat her kod için yeni atamalar yapmanız gerekmez. En kolay değişken yaratma metodu aşağıdaki örnek gibidir, burada değişkenin değeri Merhabalar:

  <?php
  $yazi = "Merhabalar"; //İşte burada değişken oluşuyor. Değişkenin adı $'dan sonra ve değer ='den sonra.
  echo $yazi . ", Bu benim ilk yazım";//Burada $yazi değerini " " içine almadık. İstersek alabiliriz.
  ?>

Çıktı:

   Merhabalar, Bu benim ilk yazım

Basit bir "echo" komutu ile çıkan yazı bu sefer tek başına değil. Burada önceden verdiğimiz yazi değeri de var. PHP'de değişken adının önüne "$" konularak değişken oluşturulabilir. Ayrıca bu değişkenin değeri Merhaba Yani $yazi yazdığınız her yerde bu yazı görülür. Unutmayın yazılar " " içine alınır. Değişkenin ismini verirken önemli olan, değişkenin Türkçe karakter içermemesi; ama değişken $deneme, $aabb, $1234deneme, $elma gibi şeyler olabilir. Başka bir örnek:

  <?php
  $sayi = 3;//Görüldüğü gibi sayı adlı değişken oluştu. 3'ü " " içine almak gerekmez.
  echo "PHP, $sayi adet harf içerir."; 
  ?>

Çıktı:

   PHP, 3 adet harf içerir.

Burada daha önceden belirlediğimiz $sayi değeri, 3 olarak belirlendik. Bir kod içerisinde her yerde $sayi yazarsak PHP onun 3 olduğunu anlar. Bunun yerine istenilen basamakta, istenilen sayı yazılır. Sayılar " " içine alınmaz. Bir önceki kodda değişkeni " " içine almamıştık ve . ile ayırmıştık. Burada ise " " içine aldık.

4- Operatörler

PHP'de her programlama gibi operatörler içerir. Asla bir kodu uzun uzun anlatamazsınız; çünkü dilin uyulması gereken kuralları vardır. Örneğin "ve", "ayrıca", "topla", "çıkar", "yanlış" gibi ifadeleri nasıl söyleyeceğiz? Tabii ki operatörler ile. Başlangıç için öğrenilmesi gereken çok önemli operatörle vardır.

1-Matematik Operatörleri

Operatör Tanım Örnek Sonuç
+ Toplama Operatörü
<?php echo 7 + 2; ?>
9
- Çıkarma Operatörü
<?php echo 9 - 4; ?>
5
* Çarpma Operatörü
<?php echo 3 * 5; ?>
15
/ Bölme Operatörü
<?php echo 5 / 5; ?>
1
% Kalan Operatörü (Bölüp kalan değeri döndürür)
<?php echo 9 % 2; ?>
1

Bunlar matematik operatörleri idi; fakat bunları deklare etmek için de kullanabiliriz. Önceki bölümde hep = ile değişken oluşturduk. Aşağıda atama operatörlerini bulabilirsiniz.

2-Atama Operatörleri

Operatör Örnek Aynı Sonucu Verir
= x=y x=y
+= x+=y x=x+y
*= x*=y x=x*y
-= x-=y x=x-y
/= x/=y x=x/y
.= x.=y x=x.y

3-Karşılaştırma Operatörleri

Aşağıdaki operatörler PHP'de en çok kullanılan operatörlerdir. Bunlara karşılaştırma operatörleri denir ve iki değeri karşılaştırır.IF ifadesi kodlama yapar iken bunlar çok önemli olur. Her biri PHP'deki veri tiplerini döndürür. Yani doğru (true) ya da yanlış (false) değer döndürürler. Aşağıadaki karşılaştırma operatörler örnekleri ile doğru (true) ve yanlış (false) döndürüyorlar.

Operatör Tanım Örnek Anlamı Değer
== Eşittir 5 == 8 5, 8'e eşittir Yanlış (false) olur
!= Eşit Değildir 5 != 8 5, 8'e eşit değildir Doğru (true) olur
> Büyüktür 5 > 8 5, 8'den büyüktür Yanlış (false) olur
< Küçüktür 5 < 8 5, 8'den küçüktür Doğru (true) olur
<> Büyüktür veya Küçüktür 5 <> 8 5, 8'den büyüktür veya küçüktür. Doğru (true) olur
<= Eşittir veya küçüktür 5 <= 8 5, 8'e eşittir veya küçüktür Doğru (true) olur
>= Eşittir veya büyüktür 5 >= 8 5, 8'e eşittir veya büyüktür Yanlış (false) olur

Bu operatörler dediğimiz gibi çok önemlidir. Bunlara, ileri seviye kodlarda çok ihtiyaç duyulur.

4-Mantıksal Operatörleri

Aşağıda mantıksal operatörler var, bunların hem sağı hem de solu doğru (true) ise doğru (true) döner değil ise yanlış (false) döner:

Operatör Tanım Örnek Anlamı Değer
&& Ve (5==20 && 10==10) 5 eşittir 20 ve 10 eşittir 10 Yanlış (false) olur
|| Veya (5==4 || 10==7) 5 eşittir 4 veya 10 eşittir 7 Yanlış (false) olur
! Değildir !(5==4) 5 eşittir 4, değildir Doğru (true) olur

6-Olasılık ve Denetim İfadeleri

PHP, akışı bol olabilecek bir betik dilidir. Bu akışı denetlemek, filtrelemek, kontrol etmek, düzenlemek, değer kazandırmak ve denemek için bazı ifadeler kullanılır. Aynı zamanda bu ifadeler betiğe matematiksel bir olasılık kazandırır. Bu ifadeler kodlar içinde iç içe geçerek akışı denetlerler.

1-If, Elseif, Else

Php dili her dildeki gibi "if" deyimine sahiptir. Bu çok sade olarak bildiğimiz "eğer" demektir. Yani "eğer" bir şey olur ise, şunu yap ve şunu yapma ayrıca bu olur ise şunu yap ya da yapma demeye yarar. Aslında daha önceden bilinen "Boolean" veri tipleri için kullanılırç En basit örnek:

<?php
$x = 1;
$y = 2;
if ($x == $y) //Eğer bu TRUE(doğru) ise...
echo "İki sayı birbirine eşittir.";//Bunu yap.
else //Eğer FALSE(yanlış) ise...
echo "İki sayı birbirine eşit değildir.";//Bunu yap.
?>

Sorulan soruya PHP anında cevap verir:

İki sayı birbirine eşit değildir.

Burada PHP ye sorduk: "eğer" x ve y eşit ise "İki sayı birbirine eşit" de, ama eğer değil ise "İki sayı birbirine eşit değil." de. Yani demek oluyor ki "if", "eğer" demek bunu söyledikten sonra "else" diyerek eğer buna uymaz ise yapacağı şeyi söyleriz. Unutmayın PHP sadece eco'dan ibaret değildir. İleride "eğer" x, y'ye eşitse, bir işlem yap, "uymuyorsa" başka bir şey yap! PHP bunun için özellikle yapılmış bir dil. ÇOK ÖNEMLİ:Eğer yukarıdaki gibi tek iş veriyorsanız her bir if, elseif veya else'e { } ile kapatmamalısınız! Aşağıdaki örnek gibi olur ise kapatmalısınız!