Sakin Adam

Web Yazılım Günlüğü

Php Nedir?

Php sunucu taraflı çalışan bir script dilidir. Açılımı Personal Home Page (Kişisel Ana Sayfa)-dır. Rasmus Lerdorf tarafından yaratılmış; Andi Gutmans ve Zeev Suraski tarafından gelişimine büyük katkı sağlanmıştır.Dünya üzerinde en çok kullanılan web programlama dillerinden birisidir.

Üye giriş işlemleri, veri tabanı işlemleri gibi bir çok işlem php yardımıyla yapılmaktadır. Php ile yapabilecekleriniz hayal gücünüzle sınırlı demek yanlış olmaz. Özellikle php’nin artısı olan linux kodlarının da kullanılabilmesi yardımıyla yapılabilecekler gerçekten hayal gücünün sınırlarını zorlamata. Ancak bu noktada şunu söylemek gerekiyor. Kiralanana bir çok paylaşımlı hostinglerde güvenlik gerekcesiyle bir çok fonksiyonun kullanımı kapatılmış olabilir.

Php’yi kullanabilmek için hosting hizmeti alabileceğimiz gibi kendi bilgisayarımıza localhost kurarak da kullanabiliriz. Windows için yaygın olarak wamp server kullanılmakta. Basit ve klasik bir php kodunu görelim ve php ile ilgili biraz daha bilgi verelim.

<?php
echo 'Merhaba Dünya';
?>

Bu kısa kod tüm programlama dillerinde klasik haline gelmiş ve bir dili öğrenirken ilk olarak kullanılan ‘Merhaba Dünya’. Kodu çalıştırdığınızda ekrana Merhaba Dünya yazısının geldiğini göreceksiniz. Kodlama hakkında detaya girmek istemiyorum. İlerleyen zamanlarda Php Dersleri yazmayı düşünüyorum. O kısımda daha detaylı inceleleriz.

Php bir script dili olduğu için, html ve javascript kodlarının içerisine yazmak mümkün. Biraz daha açıklamak gerekirse; php yardımıyla html ve javascript kodlarını çıktı yapmak/üretmek mümkün. Bu da script dilinin en büyük nimeti.

Php öğrenmek isteyenlere bir kaç tavsiye vermek gerekirse; en azından öğrenme sürecinde hazır kodları kullanmamak gerek ve öğrenmeye çalıştığımız yerde gördüğümüz kodları kopyala yapıştır yapmak yerine yazma yolunu seçmeli, az bilsek de bir örnek proje hazırlayarak hayata geçirmek daha doğru olacaktır. Bu süreçteki en önemli nokta ise zorlu bir kısımla karşılaştığımızda ‘burası da böyle olsun’ dememek gerek. Ne kadar çok uğraşırsanız o kadar çok öğreneceksinizdir. Herhangi bir programlama dilini bilmiyorsanız php öğrenmek bir günde olacak şey değildir. Zaten tamamen bilmek çok zor. Php’nin sayısız kütüphanesi ve bir çok framework-ü bulunmakta. Herşeyde olduğu gibi burada da emek vermek gerekiyor.

Web Programlama Nedir

Web programlama kısaca; web üzerinde dinamik sayfalar oluşturmaya yarayan diller topluluğudur. Bu diller; sunucu taraflı olmak üzere başlıca, php, .net ve jsp. Tarayıcı/kullanıcı olmak üzere javascript’tir. Bir çok kişi/otorite bu dillerin programlama dilleri olarak tanımlanmasının yalnış olduğunu söylemektedir. Çünkü bu diller birer script dilleridir. Bu konuyu daha sonra başka bir yazıda derinlemesine işlemeyi planlıyorum.

Sunucu Taraflı Diller
Bu diller adı üzerinde sunucu taraflı çalışan dillerdir. Bu dillerde ağırlıklı olarak, veri tabanıyla ilişkili işlemler yapılmakta. Bu işlemler, üye kaydı, giriş gibi veri girişi ve veri çıkışı gibi işlemlerdir. Veri çıkışı denildiğinde aklınıza sadece bir web sayfası gelmesin. Bu veri çıkışı ihtiyaca göre bir excel dökümanı olabilir, bir pdf dosyası ya da bir xml dosyası olabilir. Aynı şekilde veri girişi de sadece yazı(text) olmak zorunda değil. Bir dosya, resim ya da döküman olabilir. Sunucu taraflı bir dil yardımıyla bir excel dökümanından veri okuyabilirsiniz. Bir resim üzerinde belli düzenlemeler yapabilirsiniz. Web sayfası olarak veri çıkışlarında bir çok kişinin tam olarak kavrayamadığı bir nokta vardır. Sunucu tarafında hazırlayacağınız veri, kullanıcı tarafına ulaştığında sadece html dili ile hazırlanmış bir veri olacaktır. Yani sunucuya yapılan istek sonucunda oluşturulan veri, kullanıcıya ulaştıktan sonra, sunucu tarafında bu dosyaya artık müdahele edemezsiniz. En azından o sayfa için oluşturduğunuz kodlar içerisinde. Sunucu taraflı diller, sadece istek yapıldığında yaşayan yapılardır. Ancak bazı durumlarda bize sürekli canlı olan yapılar gerekebilir. Örneğin bir üyelik formunda anlık doğrulama yaparken. İşte böyle bir durumda karşımıza javascript gibi hayat kurtaran bir dil karşımıza çıkıyor. Son olarak, sunucu taraflı dillerden hangisini tercih etmemiz gerektiğini sorabilirsiniz. Bu tamamen sizin tercihinize kalmış. Bir çok kişi hangisinin daha iyi olduğuyla ilgili uzun tartışmalar girişiyor. Ancak ben onlardan değilim. Sonuç itibariyle, bir dilde yapabildiklerinizi diğer dillerde de yapabiliyorsunuz. Ben şahsen php ile çalışıyorum. Ama dediğim gibi tercih size kalmış.

Kullanıcı Taraflı Diller
Aslında diller demek yalnız olur. Çünkü bu kısımda sadece javascript bulunuyor. Bazılarınız; ajax, jquery var diyebilirsiniz. Ancak atladığınız bir şey var. O da bunların birer javascript kütüphaneleri olduğudur. Bu kodları açarsanız, javascript kodlarından oluştuklarını görebilirsiniz. Şimdi kullanıcı taraflı demek ne anlama geliyor, avantajları nelerdir, dezavantajları nelerdir. Onları konuşalım. Öncelikle javascript kullanmak için bir sunucuya ihtiyaç duymazsınız, çünkü adı üstünde yazdığınız kodlar kullanıcı tarafında çalışır. Javascript sayfa açık kaldığı sürece yaşayan bir yapıdır. Sunucu taraflı dillerde sayfa oluşturulup; kullanıcıya iletildikten sonra bir değişiklik yapılamaz. Ancak bu dil için bu geçerli değildir. Basit bir örnek vermek gerekirse. Sunucu tarafında zaman verisini alıp ekrana bastığınızda bu veri istek zamanın verisi olur ve değişmez. Ancak kullanıcı tarafında o andaki zaman verisini sürekli güncelleyebilirsiniz. Tabi ki bu çok basit bir örnek. Javascript kütüphaneleri yardımıyla yapılabilecek şeyler hayal gücünün sınırlarını zorlamakta. Ancak bu dil ile ilgili sıkıntılı bir durum vardır. Kodlar kullanıcı taraflı çalıştığı için, saatlerce emek vererek yazdığınız kodlar, başkaları tarafından kolaylıkla çalınabilir.

Tasarım Kısmı
Bu kısımda tabiki html ve css bulunmakta. Ancak bunlara birer programlama ya da script demek pek mantıklı değil. Her ne kadar son zamanlarda css için js(javascript)-ten gören çalmaya başladı denilse de, bu kategoriye girmemekteler. İlerleyen zamanlarda bu iki dil ile de ilgili birer makale yazmayı planlıyorum.

Son Söz
Artık günümüzde bilgisayar denildiğinde aklımıza direkt olarak internet gelmekte ve internet üzerinde sayfalar ve çeşitle dökümanlar oluşturmamıza yarayan dilleri öğrenmek, bu sektörün içinde olmak isteyenler için kaçınılmaz olmuş durumda. Umarım bu işe gönül vermiş herkes, belli bir seviyede uzmanlığa ulaşır. Okuduğunuz için teşekkürler.