[font=Georgia]Php Nedir ? PHP'ye Giriş ve Dilin Yapısı

[left]PHP sunucu-taraflı, çarpaz-düzlem ve HTML içine gömülebilir bir betik dilidir. Genel yapı ve yazılım kuralları yönünden C ve Perl dillerine çok yakın bir dildir. Rasmus Lerdorf tarafından hazırlanan bu dil, kendi web sitesine bağlı olan kişilerin takibini yapılması isteği ile ortaya çıktı. Rasmus Lerdorf bu dile ilk başta "Personal Home Page" adını koydu (çünkü kendi kişisel web sayfası üzerinde kullanmıştı). Şu anda ise PHP sözcüğü, "PHP: Hypertext Preprocessor" sözcüklerinin baş harflerinden oluşan kısaltmayla tanımlanmaktadır.

Rasmus Lerdorf PHP dilini kaynak kodu açık bir halde 1995 senesinde açık-kaynak camiasına kazandırdı. 1995 senesinden bu yana kıllanımı gün geçtikçe yaygınlaşan PHP, şu anda yaklaşık 10.000.000 web sunucusu tarafından kullanmaktadır (Kasım 2003, Kaynak: Netcraft).

Sunucu-taraflı: PHP betikleri sunucu tarafından çalıştırılır (JavaScript dilinin tam tersine) ve çıktısı tarayıcınıza gönderilir.

Çapraz-düzlem: PHP, birçok işletim sistemi üzerinde ve web sunucusu yazılımlarına adapte olarak çalışabilmektedir (örneğin, Microsoft Windows üzerinde IIS web sunucusu ile birlikte veya Unix işletim sistemleri üzerinde Apache web sunucus ile birlikte).

HTML içine gömülebilir: PHP ifadeleri ve fonksiyonları HTML dökümanları içine yazılabilir ve çalıştırılabilir. Böylelikle dinamik web sayfaları oluşturulabilir. Web sunucusu yazılımı web sayfası içerisinde PHP diline ait ifadeleri gördüğünde, bunları yorumlayıp, çıktısını HTML ifadeleri yazılı yerlerin arasına yerleştirir.


PHP'ye giriş

PHP kendi yorumlayıcısı ile birlikte kullanılan bir script dilidir. Bu yorumlayıcının yaptığı aslında HTML kodları arasına yerleştirilmiş PHP kodlarını ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek web sunucuya iletmektir.

PHP, UNIX sistemleri üzerinde kullanılacak ise modül olarak veya CGI olarak kurulabilir. CGI olarak kurulduğunda web sunucunun uid'i dışındaki kullanıcı kimikleri altında program çalıştırabilme esnekliği vermesine karşın bu güvenlik açısından risklidir. Ayrıca CGI programı olarak yüklendiğinde, kullanıcıların her istemi için PHP yorumlayıcısının tekrar tekrar hafızaya yüklenmesinin kaynak ve zaman kullanımı açısından maliyeti yüksektir. Bu nedenlerle modül olarak kurulması ve web sunucu ile birlikte hafızaya yüklenmesi bu sakıncaları ortadan kaldırmaktadır. Tek dezavantajı upgrade gerektiğinde web sunucu ile birlikte tekrar derlenmesinin gerekmesidir.

PHP WindowsNT ortamına kurulacaksa ISAPI modülü olarak derlenip IIS ile birlikte kullanılması gerekir.

Dilin Yapısı

PHP, HTML gömülü bir dildir. Yani aynı dosya içinde hem HTML, hem de PHP kodu kullanılabilmektedir. Kod içinde HTML'den PHP'ye geçmek için bazı ayıraçlar kullanılması gerekir. Örneğin:




...

HTML taglari içinde de PHP kullanmak için şu metod seçilmeli:


Veya:



Ve İlk 'Hello World' cümlemiz:



Example






Browser bunu bize:

Hello World...

şeklinde gösterecektir.

PHP'nin en güzel özelliklerinden birisi php dışından gelen değişkenlerin çok rahat kullanılabilmesi:


Adınız:




Yukarıdaki formdan gönderilen değişkenler php içinde aşağıdaki gibi doğrudan kullanılanılabilir:



PHP, integer, float, string, array gibi çeşitli değişken tipleri içerir. Ancak değişkelerinizin tipi sabit değildir. Yani çalışma anında değişkeninizin tipini değiştirebilirsiniz (type juggling):

$foo = "0"; // $foo is string (ASCII 48)
$foo++; // $foo is the string "1" (ASCII 49)
$foo += 1; // $foo is now an integer (2)
$foo = $foo + 1.3; // $foo is now a double (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is integer (15)
$foo = 5 + "10 Small Pigs"; // $foo is integer (15)

Burada istenmeyen durumlar oluşmaması için type casting kullanılarak değişkenin değerinin nasıl yorumlanmasını istediğimizi belirtebiliriz.

Static değişkenler kullanılarak fonksiyonlara gerri dönüşlerde değişkenin son aldığı değer kullanılabilir:

Variable variable'lar oldukça ilginç bir yaklaşım. Yalnızca recursive yapılabileceğini düşündüğünüz pekçok işi bunlara yaptırabilirsiniz. Örneğin aşağıdaki kod çıktı olarak 'hello world' basar:

$a = "hello";
$aa = "world";
echo "$a $a{$a}";

Recursive fonksiyon çağrıları yapılabilir.

Diziler çalışma aında büyüyebilir. ( Bu özellik PHP yorumlayıcı konfigürasyonunda gerekli ayar yapılmadan dikkatsiz kullanılırsa işletim sisteminin bile göçmesine sebep olabilir).

B>eval fonksiyonu kullanılarak kod içeriği dinamik olarak oluşturulabilir. ( Sağlamlık ve güvenlik açısından riskli bir komut ):

eval( "echo "Merhaba"" );

PHP, Perl veya benzeri araçların sunduğu regular expression desteğini de vermektedir. Bu sayede karmaşık metin işleme (text processing) veya parsing işlemleri çok az komut yazılarak gerçekleştirilebilmektedir. Örneğin string olarak tutulan HTML formatındaki içerikteki tüm etiketler büyük harf yapılabilir:

preg_replace("/(]*>)/e","'\1'.strtoupper('\2').'\3'",$html_body);[/left]

Beğeniler: 0
Favoriler: 0
İzlenmeler: 1271
favori
like
share
YusuF-CenGiz Tarih: 11.11.2009 12:21
Eline SagLık mavi Cok GuzeL Kod :SayenDe php Yede OgrenDik
bernaca Tarih: 03.11.2009 23:46
PHP ye yeni baslayanlar için güzel bir çalışma olmus
GONUL_SAYFAM Tarih: 30.07.2009 06:05
tşkrler
eecem Tarih: 10.07.2009 10:43
teşekkürler
kadd Tarih: 03.07.2009 10:49
eyw...
KaRaKıZ Tarih: 13.10.2008 13:49
emegine saglık
cancan66 Tarih: 12.10.2008 21:58
emegine saglık