18 Nisan 2012 Çarşamba

PHP Nedir? Ders 1


PHP
PHP web programcılığında kullanılan Object Oriented (Nesne Yönelimli-Nesne Tabanlı), sunucu tarafında(server side) çalışan bir programlama dilidir. PHP kullanılarak Fortran, C, C++, Delphi, Basic dillerinde olduğu gibi bilgisayara(servera) hesaplamalar yaptırılıp sonuçları bir web sayfası şeklinde alınabilir. Ancak PHP yapı olarak bu saydığımız dillerden farklıdır. Bir script dilidir. C, Basic, gibi dillerde yazılan programlar bir derleyici tarafından derlendikten sonra bir uygulama dosyası haline getirilir ve bu dosya kendi başına çalıştırılabilir. PHP içinse durum farklıdır.Yani bu dili kullanarak yazdığınız programlar bir derleyiciden(compiler) geçmezler, tek başlarına çalışamazlar. PHP dosyalarının çalışabilmeleri için PHP Yorumlayıcısının bilgisayarda(Sunucu bilgisayarı) kurulmuş olması gerekmektedir. PHP programları genelde Apache sunucularda çalışırlar. Her ne kadar bazı düzenlemeler yaparak IIS sunucularda da çalıştırılabilseler de en iyi performansı Apache server üzerinde vermektedirler.

PHP'yi Kim İcad Etti?

Rasmus-Lerdorf
PHP Rasmus Lerdorf tarafından 1995 yılında, Perl dili kullanılıarak geliştirilmiştir. ilk zamanlar Personal Home Page Tools(Kişisel Anasayfa Araçları) adıyla anılan programın adı sonradan Hypertext Preprocessor (Türkçe: Üstünyazı Önişlemcisi) olarak değiştirilmiştir.


PHP'nin 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.

PHP Programı Nasıl Çalışır?

Başta da belirttiğim gibi PHP bir script (betik) dilidir. Bu dilde yazdığınız programlar .php uzantılı dosyalarda saklanırlar. Bir php dosyasını notepad ile açtığımızda karşımıza yukardan aşağı doğru sıralanmış kodlardan oluşan bir metin çıkar. Sunucu bilgisayarında bulunan PHP yorumlayıcısı aynen sizin bu yazıyı okuduğunuz gibi satır satır kodları okuyarak yorumlar ve uygulamaya koyar. Buradan da anlaşılacağı gibi programı yazarken önce çalışmasını istediğimiz komutları üst satırlara yazıyoruz; sonra çalışmasını istediklerimizi alt satırlara. Bu, script dillerinin ortak özelliğidir. diğer programlama dillerinde kaynak kodlarına bu şeklide ulaşamazsınız. PHP'de aslında çalışan PHP yorumlayıcısıdır. Siz sadece ona nasıl çalışması gerektiğini söylersiniz. Diğer dillerde ise çalışan mekanizma progamın genelde .exe uzantılı olan dosyasıdır. Kaynak kodlarını yazdığınız php dosyası yorumlayıcı tarafında yorumlanıp işlemlere sokulduktan sonra elde edilen sonuçlar Bir HTML sayfası şeklinde görüntülenir. Yani ziyaretçiler ya da sayfanızı kullanan kullanıcılar asla PHP dosyanızı göremezler. Sadece HTML,CSS,Javascript gibi kullanıcı tarafında (front end) çalışan kodları görürler.  Bu kodların da çoğu zaten sayfanın görüntülenme şekli ile ilgilidir. Programınızla bir ilgileri bulunmaz (form nesneleri. hariç onlar da  sadece veritabanına bilgi gönderip gelen verileri görüntülemek için kullanılırlar). PHP dosyalarınız sunucuda saklanır ve sunucunuz çökmediği sürece kullanıcılar kaynak kodlarınıza ulaşamazar. Sunucunun çökmesi nadiren olur. Hatta PHP sunucuların çökmesi için ekstradan çaba sarfetmeniz bile gerekebilir.

PHP Kodu Nasıl Yazılır?

PHP kodları <?php  ile   ?> işaretleri(ayraç da derler) arasına yazılır. Ancak sunucunuzda bulunuan php.ini dosyasını notepad ile açıp short_open_tag = off; satırını bulup short_open_tag = on; şeklinde değiştirerek kısa yazım biçimini yani <? ?> şeklini kullanabilirsiniz. PHP kodları HTML kodlarının içine yazılabildiği gibi HTML kodları da PHP kodlarının içine yazılabilir.

<html>
<head>
<title>deneme</title>
</head>
<?php
echo "Merhaba Dünya";
?>
<body>
</body>
</html>


Burada echo "Merhaba Dünya" komutu PHP'nin yazdırma komutudur. Bu komutu kullanarak programdaki herhangi bir değişkenin değerini ya da herhangi bir düz metni web sayfasına yazdırabilirsiniz. PHP komutlarının sonuna mutlaka ; işareti konmalıdır. aksi halde program çalışmaz. Şimdi yukarıdaki kodları herhangi bir basit metin düzenleyicide(notepad, notepad++ gibi)ya da Adobe Dreamweaver gibi düzenleme ortamında yazın. İstediğiniz bir isim verin ama uzantısı .php olsun (ilk.php mesela). Bu dosyayı herhangi bir php sunucusuna root(kök)klasörüne kopyalayın. Kök klasörünün adı sunucuya göre değişebilir. Plesk panelde sanırım httpdocs, Cpanel için wwwroot olması lazım. Eğer kendi bilgisayarınızda yerel bir sunucu kullanıyorsanız o sunucunun kök klasörüne kopyalayın. Wampserver için www klasörü kök klasörünüzdür. Kopyalama işlemi bittikten sonra tarayıcınızı açın ve adres satırına kopyaladığınız PHP dosyasının yolunu girin. yerel sunucu için genelde bu adres http://127.0.0.1/dosyadi.php şeklindedir. Herşeyi doğru yaptığınızda tarayıcınızda Merhaba Dünya yazısını görebilirsiniz. Bu vesileyle ilk PHP programımızı da yapmış olduk ve artık ilk PHP çalışmamızın da sonuna geldik. Bir sonraki çalışmada görüşmek dileğiyle.


Kaynak:vikipedi


Turgut Arslan 

27 Mart 2012 Salı

JavaScript Faktöriyel Hesaplatan Program

Faktöriyel bir çeşit çarpım serisidir. Verilen sayıdan başlayarak bire kadar olan sayılar bir dizi haline getirilir ve birbirleri ile çarpılır. Burada hazırladığım JavaScript programı yazı kutucuğuna girilen bir sayının faktöriyelini almakta ve yapılan faktöriyel işlemini, sonucu ile beraber başka bir div kutucuğunun içinde görüntülemektedir. Bu görüntüleme işlemi için innerHTML yöntemini kullanıdım.
Eğer Faktöriyel nedir bilmiyorsanız ya da bilgilerinizi tazelemek istiyorsanız şu adresteki kısa anlatımı bir okuyun...
fizikliblog.blogspot.com
<script language="javascript">

function faktoriyel(){ //faktoriyel adlı fonksiyon çalışmaya başlıyor

var a; // Değişken tanımlanıyor

a = document.form1.sayi.value; // değişken içine form1 içindeki sayi isimli kutudaki bilgi aktarılıyor

c = a; // a değişkenindeki bilgi c'ye aktarılıyor (döngüde a nın değeri değişeceğinden eski değere ihtiyacımız olacak)
if(a==0){
    document.getElementById("sonuc").innerHTML=1;
document.getElementById("say").innerHTML=c+"!";
}
b= new Array() //b adlı bir dizi değişkeni oluşturuluyor.

b[0]=a+"x"; //dizinin ilk değerini veriyorum
for(i=a-1;i>=1;i--){ //faktöriyeli hesaplayan döngü başlangıcı

a = a*i;

} //faktöriyeli hesaplayan döngü sonu

// bu kısım faktöriyel hesabı yapılan sayının çarpım dizisi elemanlarını b isimli dizi değişkeni içinde uygun yerlere yerleştirir

for (j=1; j<=c-1;j++){

for(i=c-j;i>=c-j;i--){

if(i>1){

b[j]=i+'x';

}else{

b[j]=i;
}
}
}
// bu kısımdan sonra sonucu ekranda başka bir HTML elemanının içine yazdıran kodlar sıralanmaktadır.
document.getElementById("sonuc").innerHTML=b.join("")+"="+a;
document.getElementById("say").innerHTML=c+"!";
}
// fonksiyon sonu

</script>

<form id="form1" name="form1" method="post" action="">

<label for="sayi"></label>

<input type="text" name="sayi" id="sayi" value="" />

<input type="button" name="ok" id="ok" value="Faktöriyel" onclick="faktoriyel();" />

</form>

<div id="say" style="font-size:36px;float:left;border:solid 1px #09C;color:#0F0;padding:5px;"></div><div id="sonuc" style="float:left;padding:15px 0 0 5px;;color:#60F"></div>

yukarıdakş kodlar doğu bir şekilde yazarsanız nacizane faktöriyel hesaplayıcınız tarayıcınızda arz-ı endam eder efem!!! Deneyin bakalım çalışıyor mu?







Turgut Arslan