Web Programa Dillerine Genel Bak__ - DamaSistem

Document Sample
Web Programa Dillerine Genel Bak__ - DamaSistem Powered By Docstoc
					Web Programa Dillerine Genel 
          Bakış
            Web Programlama
• İnternet ya da intranet için Web sitesi 
  geliştirme;
   – Web tasarım,
   – Web içerik geliştirme,
   – İstemci ile irtibat,
   – Sunucu/İstemci tarafı kodlama,
   – Web sunucusu,
   – Ağ güvenliği
İşlerini kapsar
                     Sunucu


                              Veritabanı

          İnternet



İstemci
         İstemci tarafı kodlama:
•   AJAX
•   FLASH
•   JavaScript
•   Ms Silverligth
•   HTML5 ve CSS3
          Sunucu tarafı kodlama:
•   ASP
•   CGI / Perl 
•   Pyhton
•   .NET (Asp.NET, C#.NET)
•   JSP
•   PHP
                            ASP
• <% asp code goes here %>
• Bir ASP dosyasının içinde, özel nesneler ve VBS, JS, SQL 
  kodları bulunur, bu sayfalar istemci tarafından istendiğinde 
  sunucu öncelikle ASP içindeki kodları icra ederek, istemciye 
  göndereceği bilgiyi oluşturur ve gönderir. Gönderilen bilgi 
  genellikle HTML (ya da SGML) şeklindedir. Fakat sadece 
  bunlarla sınırlı değildir, aynı şekilde bir grafik dosyasıda 
  oluşturulup, istemciye gönderilebilinir.
• ASP sayfaları HTML kodlarının içine gömülü şekilde 
  oluşturulduğu halde bir kez server tarafından 
  yorumlandığında saf HTML olarak döner. Kaynak kodlara 
  bakıldığında ASP kodları görülmez. Bu kodlamacıların 
  kaynaklarını saklamalarını kolaylaştırır.
                     CGI / Perl 
• Common Gateway Interface, bir Web sunucusundan 
  harici yazılımla dinamik içerik almaya yarıyan protokol 
  standardı (dosyaların uzantısı .cgi'dir) 
• Perl, bir dil bilimci olup NASA'da sistem yöneticisi 
  olarak çalışan Larry Wall tarafından geliştirilmiş bir 
  programlama dilidir. Yoğun şekilde metin işleme ve 
  görüntü tanıma söz konusu olduğunda kullanılabilecek 
  en güçlü ve pratik programlama dilidir. 22 yıldır 
  geliştirilen ve özgür yazılım çerçevesinde kaynak kodu 
  açık olarak sunulan Perl programlama dili hemen 
  hemen tüm işletim sistemlerinde çalışmaktadır.
                              Python
• Python, nesne yönelimli, yorumlanabilen, birimsel (modüler) ve 
  etkileşimli bir programlama dilidir.
• Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda 
  kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit 
  yitirmeden programlama yapılmaya başlanabilen bir dil olma 
  özelliği kazandırır.
• Modüler yapıyı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini 
  destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , 
  Linux, Mac, Windows, Amiga, Symbian). Python ile sistem 
  programlama, kullanıcı arabirimi programlama, ağ programlama, 
  uygulama ve veritabanı yazılımı programlama gibi birçok alanda 
  yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde 
  prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C 
  ya da C++ gibi dillere tercih edilir.
• Python ile hemen hemen arzu ettiğiniz her konuda 
  program yazabilirsiniz. Windows için,Linux için,cep 
  telefonunuz için,liste uzar gider..Hatta Python ile web 
  programlamada yapabilirsiniz ki Python'un bunun için 
  yapılmış olan framework'u(altyapısı) Django mevcuttur.
• Django, Zope uygulama sunucuları, YouTube ve orijinal 
  BitTorrent istemcisi, Pardus Linux dağıtımı Python 
  kullanan önemli projelerden bazılarıdır. Ayrıca Google, 
  NASA ve CERN gibi büyük kurumlar da Python 
  kullanmaktadır.
• Ayrıca OpenOffice.org, GIMP, Inkscape, Blender, 
  Scribus ve Paint Shop Pro gibi bazı programlarda betik 
  dili olarak kullanılır.
• Pek çok Linux dağıtımında Python öntanımlı bir bileşen 
  olarak gelir.
                   ASP.NET
• Script dilleri
   – Asp.NET
   – C#.NET
• Kütüphaneler,
                           JSP
• JSP, bir Java kodunun HTML kodu içerisinde 
  gömülmesini sağlayan yapıdır. JSP sayfası statik bir 
  HTML sayfası gibidir sadece belli yerlerde Java kodu 
  bulunur. (ASP ve PHP gibi.)
• JSP farklı web-sunucularda çalışabilen ve dinamik 
  içerikli web sayfaları oluşturabilmemize olanak tanıyan 
  bir Java teknolojisidir. 
• JSP’nin aynen ASP’de olduğu gibi normal HTML 
  sayfalarını baz alan bir yapısı vardır. Yani JSP sayfaları 
  aslında içerisinde JSP script kodları (ki bunlar genelde 
  Java ile yazılırlar) barındıran .jsp uzantılı HTML 
  sayfalarıdır. 
                       PHP
• PHP, ilk olarak 1990’lı yılların ortalarında Rasmus
  Lerdorf tarafından geliştirilmeye başlanmıştır. 
  Lerdorf’un amacı kişisel bilgilerini internet
  üzerinden yayınlamaktı. O tarihteki teknolojide, 
  günümüzdeki gibi gelişmiş web tasarım 
  yazılımlarının bulunmamasından dolayı, kişisel 
  web sayfası yapmak çok daha zordu. 
• Buradan yola çıkarak, kişisel web sayfası yapmak 
  için bir yazılım hazırladı ve adına Personal Home
  Page (PHP) adını verdi. 
• PHP, Perl dili üzerine kurulu bir dil olarak 
  geliştirilmeye başlanmıştır. PHP’nin çok tutulması 
  üzerine web tasarımcılarının çok ihtiyacı olan, 
  yani form yoluyla ziyaretçiden gelen bilgileri 
  işlemeyi sağlayan eklemeler yapılarak adına 
  PHP/FI (Form Interpreter) adını aldı. 
• Kimileri tarafından programın bu versiyonu PHP2 
  olarak adlandırıldı. 1995 yılının ortalarında PHP 
  Lerdorf’un kurmuş olduğu bir grup tarafından 
  daha da geliştirildi. Bu sefer Perl dilindeki 
  fonksiyonlardan tamamen arındırılmış ve Object 
  Oriented (Nesneye Dayalı) bir dil haline getirildi.
• Günümüzde PHP4 versiyonu ardından çok 
  daha güçlü ve çok daha çok özellikli halde 
  PHP5 versiyonu geliştirilmiş durumdadır. PHP
  dili Linux gibi Açık Kaynak Kodlu bir dildir ve
  ücretsiz olarak dağıtılmaktadır ve
  geliştirilmektedir. Linux, Unix, Windows
  tabanlı işletim sistemlerinde çalışabilen
  versiyonları mevcuttur.
  Platformdan bağımsız (Windows,Linux, Etc.) 
  çalışabilen sunucu taraflı, Html’e gömülü betik 
  dilidir. 
• Perl, C/C++ tipinde script dilidir. Bu dillere aşina 
  olanlar ve herhangi bir programlama dilini 
  bilenler PHP’yi fazla vakit kaybetmeden 
  öğrenebilirler. 
  Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, 
  mySQL, Informix, Solid,dBase, ODBD Unix dbm ve 
  PostgreSQL veritabanlarıyla güvenli iletişim
  kurabilir ve IMAP, SNMP, NNTP , POP3 , HTTP 
  servislerine bağlantı kurabilmektedir.
  Platform olarak "Linux & Apache & mySQL" 
  kullanılması en yaygın ve önerilendir. 
• Windows için WAMP
• Web sunucuya php betiği ile ilgili bir istem geldiğinde, web 
  sunucunu bunu disk üzerinden kütük yönetim sistemini kullanarak 
  alıp apache sunucunun mod_php modülünü kullanarak php betiği 
  yorumlanır ve çıktısı web tarayıcıya geri gönderilir. 
               PHP Kod Yapısı




• PHP'nin kod yapısı C Diline, Perl Diline ve Java 
  Diline benzer. PHP, 21. yüzyılda ünlenmeye 
  başlamış bir dildir. HTML gömülüdür, yani HTML 
  kodları içerisinde kullanılabilir. Bunun için <?php 
  açma etiketini ve  ?> kapama etiketini kullanır.
                Açılış Etiketi
• PHP dili ile kod yazmaya başlamak için onu 
  belirtmek zorundasınız. Yoksa PHP derleyicileri 
  PHP ile yazdığınızı anlamaz. Bunu:
      <?php

      ?>

• Yazarak yapabilirsiniz. <?php PHP ile yazmayı 
  başlatır,  ?> ise bitirir. Eğer herhangi bir kod 
   ?> dışında kalırsa o kod geçersiz sayılır ve PHP 
  derlemez.
                           Yorumlar
• Yorumlar çok karışık kodları düzenler; ancak bir 
  yorum çıktı vermez. Örnek:
      <?php // Bu bir tek satırlık PHP yorumudur
      /* <- Başladı
      Bu
      çok satırlı
      PHP yorumu
      Bitti -> */
       ?>

• Burada herhangi bir çıktı yoktur. Yorumlar 
  karmaşık kodları düzenlemek ve yerlerini kolayca 
  bulmak için yazılabilirler. Bu yazımı hızlandırır ve 
  kod anlaşırlığı sağlar.
                                      Çıktı
• PHP'de yazı yazmak için bazı ifadeler kullanılır. Bunlardan en çok 
  kullanılanı echo anahtar sözcüğüdür. Bu sözcük PHP'nin çıktı 
  vermesi için kullanılır gösterim için kullanılır. Çıktı, dillerin 
  derlendikten sonra verdiği yazı, görüntü, im, sayı ya da ifadelerdir. 
  PHP ile bu işlem şöyle yapılır:
              <?php
              echo "Merhaba Dünya";
              ?>

     Çıktı:
              Merhaba Dünya

PHP, echo anahtar sözcüğünden sonraki veriyi ekrana yansıtır. Bu işlem  ; 
imleçi ile bitirilinceye kadar sürer ve bu imleçişlemi bitirir. Bu imleç dilbilgisi 
için önemlidir; çünkü bu imleç ile işlem sonlanmazsa diğer satırda, PHP, Parser
Eror yani dilbilgisi yanılgısı (hatası) verir. Yukarıdaki kod gibi yazılacak veri 
string ise " " tırnak imleci içerisine alınmalıdır; ancak basılacak veri integer ise 
buna gerek yoktur.
                              Çıktı
         <?php
         echo 5;
         ?>

Çıktı:
         5




     Görüldüğü gibi PHP bir sayıyı direkt anlayarak " " 
     ifadelerine ihtiyaç duymadı. Aynı şekilde değişken 
     kullanırken de " " ihtiyacı yoktur.
                      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.
                     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.
                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örler 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.
       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
             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              Değer
                                                          Anlamı
     ==               Eşittir          5 == 8           5, 8'e eşittir
                                                     Yanlış (false) olur
     !=            Eşit Değildir       5 != 8         Doğru (true) olur
                                                     5, 8'e eşit değildir
      >             Büyüktür           5 > 8         Yanlış (false) olur
                                                     5, 8'den büyüktür
      <             Küçüktür           5 < 8          Doğru (true) olur
                                                     5, 8'den küçüktür
                                                      Doğru (true) olur
                                                  5, 8'den büyüktür veya 
     <>       Büyüktür veya Küçüktür   5 <> 8             küçüktür.
     <=        Eşittir veya küçüktür   5 <= 8         Doğru (true) olur
                                                5, 8'e eşittir veya küçüktür
     >=        Eşittir veya büyüktür   5 >= 8        Yanlış (false) olur
                                                5, 8'e eşittir veya büyüktür
           Mantıksal Operatörler
Operatör Tanım           Örnek                 Anlamı               Değer
                                         5 eşittir 20 ve 10      Yanlış (false) 
  &&      Ve       (5== 20 && 10 ==10)        eşittir 10             olur
                                         5 eşittir 4 veya 10     Yanlış (false) 
  ||     Veya       (5== 4 || 10 ==7)          eşittir 7             olur
                                                                 Doğru (true) 
   !    Değildir         !(5==4)         5 eşittir 4, değildir       olur
                      PHP ile Matematik
<?php
$x = 3;
$y = 5;
$z = 2;
$sonuc = $x + $y * $z;//Sonucun cevabı sonuc değişkenine aktarıldı
echo $sonuc;//PHP bu işlemin sonucunu hesaplamıştı ve sonuc değişkeninin gösterdi
?>


  Çıktı:

13


 Burada değerlerini verdiğimiz x,y ve z değişkenleri üzerinde minik bir toplama ve 
 çarpma işlemi yaptık. Burada önemli olan echo komutu " " ile verilmemesi. Eğer " " 
 içerisine yazsaydık PHP direkt bize 3 + 5 * 2 çıktısı verirdi. Fakat işlem ( ) içerisine de 
 yazılabilir. Burada değer bir değişkene atanmış.
<?php
$x = 3;
$y = 5;
$z = 2;
$i = (($y * $z)/10) + $x; //Cevap 4 => 10 bölü 10 artı 3
echo $i;//Şimdi i'yi gösterecek
?>


Ve görülecek sonuç:

 4

 Burada işlemin sonucunu da bir değişken yaptık. Bir işlem verdik ve dedik ki, sonucu 
 da i değişkenidir. echo komutu ile de bunu gösterdik.
     Daha ileri bir matematik işlemi,

 <?php
 $x = 1;
 $y = 2;
 $z = 3;
 $n = 4;
 echo(($x + $y + $z + $n)+($x + $y + $z + $n)/2);
 ?>

   Ve görülecek sonuç:

  10

Burada iki işlemi parantez ( ) içerisine alıp birbiriyle topladık. Sonuç ise
echo komutu ile gözüktü. Fakat dikkat edin echo'nun da parantezi var.

echo( (1. işlem) + (2.işlem) );

şeklinde bir işlem var. PHP bu iki işlemi önce hesaplar ve daha sonra 
parantezleri açarak işlemi bitirir (Güncel matematik kanunları ve işlem önceliği) 
daha sonra çıkan sonucu ekran çıktısı ile yayınlar.
6-Olasılık ve Denetim İfadeleri
                         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 x ve y eşit midir ? : "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 echo'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'yi { } ile kapatmanıza gerek yok.
Aşağıdaki örnek gibi 1'den fazla iş veriyorsanız { } ile kapatmalısınız!

                                                   Burada print komutu
                                                   semboliktir. Yani bu komut
                                                   yerine echo verilebilir.
                                                   Kısaca print komutu "Bir
                                                   yazıyı insanların
                                                   görebileceği hale
                                                   getirmektir."Şeklinde
                                                   anlatılır. Aynı zamanda
                                                   burada şuna dikkat edilmeli,
                                                   if'e 1'den fazla görev
                                                   verildiği için program { }
                                                   içine alındı.
Önceden atanan 10, 15 ve 20
değerli x, y ve z bilinmeyenleri var.
Bizde PHP'ye bazı sorular sorduk.
Bunun cevabını PHP bize yazdı.
Dikkat! Bir if'den sonra gelecek, ona
bağlı ifler mutlaka elseif ile
yazılmalıdır ve bu bağıntı else ile
bitmelidir. Aksi taktirde, PHP hata
vermez fakat program performans
ve doğruluk bakımından sapar. Yani
yanlış sonuçlar verebilir.
PHP aynı zamanda durum
operatörünü (Ternary Operation) de
destekler.
   Yukarıdaki kod parçasının durum operatörü (Ternary Operation) 
   ile yazılmış hali aşağıda görüldüğü şekildedir:




IF karar kontrol mekanizmasına hiçbir karşılaştırma kriteri verilmese bile, kendisi 
boolean yani Doğru/Yanlış (true/false) şeklinde bir denetim gerçekleştirebilmektedir. 
Yukarıdaki işlemin sayılar üzerindeki çözümünü hesaplar ve IF karar kontrol 
mekanizmasının işleyişine göre yorumlarsak doğru (True) çıktığını ve bu nedenle ilk 
kod bloğunun çalıştırıldığını görebilirsiniz.
• &&(AND) -> Bitsel karşılaştırma operatörlerindendir. 
  VE(AND) anlamına gelir. Sağında ve solundaki iki 
  tarafında doğru(True) dönmesi sonucu karar kontrol 
  mekanizmasına doğru(True) döner. Aksi taktirde her 
  koşulda yanlış (False) dönmektedir.
• Şimdi işlemimizin sayısal ifade edilişi ile inceleyelim.
  (15 > 7) AND (7 > (15 - 9))


İlk sol taraftaki işlemi yapalım ve sonucu işleme 
ekleyerek tekrar inceleyelim. (15 > 7) ifadesi ile 15'in 
7'den büyük olup olmadığı sorgulanmaktadır.
15, 7'den küçük olmadığından karar kontrol 
mekanizmasının ilk bölümü doğru(True) dönecektir.
• Sağ tarafta ise önce (15 - 9) ve arından çıkan 
  sayının 7'den büyük olup olmadığı 
  karşılaştırılmasıdır. Burada gittiğim işlem sırası 
  matemateki işlem sırası ile bire bir aynıdır. PHP 
  yorumlayıcısı da bu kurallara uymaktadır.
• 15 - 9 = 6'dır. 7, 6'dan büyük olduğundan bu 
  karşılaştırmada doğru(True) dönecektir.
• Daha önce belirtildiği üzere AND (&&) operatörü 
  kullanarak IF karar kontrol mekanizması üzerinde 
  bir mantıksal karşılaştırma yaparken ancak her iki 
  tarafında doğru (True) dönmesi sonucu ilk kod 
  blogu çalıştırılmaktaydı. Buradaki işlem 
  sonucunda da her iki tarafta doğru(True) 
  döndüğünden ekran çıktısı olarak Hesaplama 
  Başarılı Oldu. metnini vermektedir.
                    Switch
• PHP ile kodlama yaparken sadece if kullanarak 
  olasılıksal ifade yapmayız. Bazı işlemler switch 
  ifadesi kullanarak yapılır. Yani verilen değeri 
  değiştirerek bir sonuç elde eder. Bunu basit 
  bir örnekte gösterebiliriz:
Bu şu şekilde oluyor. 5
değerini x'e atadık. switch
komutunu x'e uyguladık ve
sorular sorduk. PHP her
soruya case ifadesi ile başlar.
Sizin elde etmek istediğiniz
sonuçlar case ifadesinden
sonra gelmeli. Burada dikkat
edilmesi gerekilen başka bir
şey ise her olasılık ifadesinin
break ifadesi ile bitmesi.
Eğer değer hiçbir ifadeye
uymazsa tıpkı else gibi
default ifadesi vardır ve bu
değer yapılır.
Burada görülüyor ki case
mutlaka sayı olması
gerekmiyor." " arasına
istenilen yazı yazılabiliyor. Bu
alıştırmaları iyici anladıktan
sonra aşağıdaki alıştırmaya
bakınız. Bu hem PHP'de
matematik hem de olasılığın
birleştirilmesidir. Lütfen ilk
önce t bilinmeyeninini
hesaplamayın. İlk önce kod
işleyişine bakın.
          İç İçe geçmiş İfadeler
• PHP'de tekbir if, tek bir switch ifadesi her şeye 
  yetmez. Aşağıdaki örnek gibi ifleri, switchleri iç 
  içe geçirebilirsiniz. Aşağıdaki örnek bir 
  matematik kodunun bir kısmıdır. Bu kodu 
  inceler iken iflerin ve switchlerin yerine iyi 
  bakın.
                 Fonksiyonlar
• PHP fonksiyonel bir dildir ve daha önce yapılmış 
  scriptlerdeki fonksiyon ağırlığı %80'i geçiyor. Yani 
  en basitinden en zoruna scriptler 
  yazarken %80'den fazlasını fonksiyon olarak 
  yazıyoruz. PHP'de bini aşmış fonksiyon vardır 
  hatta her yapılan sürüm atlamasından dolayı 
  binleri bile geçmiştir. Fakat, ne PHP ne de başka 
  bir dilde bir kullanıcının her işini yapacak 
  fonksiyonlar bulunmaz. Siz kendi fonksiyonlarınızı 
  yaparsınız. Yani tıpkı PHP'deki hazır fonksiyonlar 
  gibi siz de fonksiyon yapabilirsiniz. Örnek:
                      Yazım
• PHP'nin söz dizimi C dillerinden gelmektedir. 
  Yani PHP C'den esinlenmi bir dildir. PHP'nin 
  asıl söz dizimi kaynağı Perl olmuştur. Aynı 
  şekilde PHP de Falcon, Delphi gibi bir çok dilin 
  esin kaynağı olmuştur; çünkü diller arasında 
  sürekli bir söz dizimi alış verişi vardır. Bunlara 
  "söz dizimi" ya da İngilizce anılımı ile "syntax" 
  denilir. Syntaxlar yazımı denetler ve ayırırlar.
PHP her zaman derlenerek HTML diline 
çevrlir, bu da tarayıcı tarafından anlaşılır. 
                Case Sensitive
• Case Sensitive, harflerin büyük küçük 
  olduğunu ayırt eder. 

• Örneğin; array() ile Array() çok farklı şeylerdir. 
  PHP böyle bir dildir; "a" ile "A" farklıdır. 
• Ancak örneğin SQL böyle bir dil değildir.
                White Sensitive
• White sensitive, boşlukları eder. 3 adet boşluk 
  vardır. "space" bir adet boşluk bıraktırır, "enter" 
  bir satır atlatır ve "tab" belli bir aralık bırakır. 
• Örneğin böyle dillere göre 
• if x=5 ile 
• if 
• x=5 
• farklıdır. PHP böyle bir dil değildir. Yani boşlukları 
  yok sayar.
Bu kod düzenli yazılmış, yani okunması kolay şekilde, bu kodu PHP 
şüphesiz çok kolay anlar. Bir şu kod var:
Bu kod oldukça az anlaşılır. 
Hatta bu kodu görünce 
anlamak oldukça zor; 
ancak PHP bu kodu da işler 
yani anlar. Sadece
performans kaybı denilen
olay gerçekleşir. PHP 
boşlukları ayırt ederken mikro 
saniyelik gecikmeler yaşar. 
Eğer çok büyük bir sistem 
çalışıyorsa bu mili saniyelere 
hatta saniyelik gecikmelere 
yol açar. Ama yine de PHP 
bunu işleyebilecek yapıdadır.
Bu şekilde yazım da PHP tarafından anlaşılacaktır, ancak tavsiye 
edilmemektedir. Bununla beraber, $x il $X aynı şeyler değildir, 
zira değişken isimleri case sensitive'dir.
   Nesne Yönelimli Programlama
• PHP 5 sürümünden itibaren nesne yönelimli 
  programlamaya tamamen uygun hale 
  getirilmiştir. Görünürlük, Sınıf Soyutlama, final 
  Anahtar Sözcüğü, Sihirli Yöntemler, Nesne 
  Arayüzleri, Nesne Kopyalama ve Tür Dayatma 
  gibi özellikler geliştirilmiştir. Bunlarından 
  yanında isim alanları ve tasarım 
  desenlerininde PHP dili için uygulanması, 
  kurumsal uygulamalarda PHP'nin kullanımı 
  arttırmıştır.
PHP'de nesne yönelimli programlama mantığı en basit şekilde aşağıdaki gibidir.
PHP'de İsim Alanları (Name Space)
•   PHP, 5.3.x versiyonundan itibaren NameSpace ‘i desteklemeye başlamıştı. 

    PHP 6.x ile OOP adına bir çok şeyin yerine oturması beklenmektedir ve 

    PHP 6′ı ile OOP yapısının tamamiyle oturmuş olması beklenmektedir.

•   Öncelikle NameSpace’ler hakkında kısa bir bilgi verelim ve hemen 

    örneklere geçelim. NameSpace yani İsim Alanları PHP’de benzer isimdeki 

    class,constant ve function’ları aynı sayfa/proje içerisinde kullanmamızı 

    sağlar ve daha okunabilir ve anlamlı object mimarileri kurmamızı sağlar. 

    Windows File System olarak kafanızda canlandırabilirsiniz.
• X:\ sürücü altına bir klasör oluşturup herşeyi bunun içine 
   koyduğunuzu düşünün. İçindeki dosya sayısı 1.000′i geçtiğinde veya 
   yaklaştığında, artık içinde bir şey bulmanız zorlaşacaktır. 
   NameSpace’leri PC’ye uyarlarsak. A0023.jpg diye bir dosyanızın 
   olduğunu varsayalım. Bu dosyayı X:\ sürücüsünün içindeki 10,000 
   dosya içerisinde aramak mı daha kolay? Yoksa X:\ sürüsünün altına 
   X:\Photos\Summer\2009\A0023.jpg diye bir path’te bulmak mı? 
   NameSpace’ler de bu şekilde kodlarımızı ayırmamızı sağlar. Yine 
   WFS(Windows File System)’de olduğu gibi X:\Photos\Summer dizini 
   altına foo.txt diye bir dosya oluşturabileceğiniz gibi 
   X:\Photos\Summer\2009 dizini altınada aynı isimde bir dosya 
   oluşturanız WFS size karışmayacaktır.
• Aynısını NameSpace’e göre açıklarsak; 
  fooPage.php içerisinde namespace spaceOne { 
  const fooC = 9; } ve namespace spaceTwo{ 
  const fooC = 7; } diye yazdığımızda ikitane aynı 
  isimde constant olmasına PHP kızmayacaktır. 
  Çünkü farklı namespace’ler de bulunmaktalar. 
  WFS’e göre farklı dizinler diye düşünebilirsiniz.
• PHP ile NameSpace kullanımı anlatan OOP 
  standartlarında örnek bir kod;
•   Örnekten de anlaşılacağı üzere namespace’ler namespace <nameSpace Adi> 
    şeklinde tanımlanır. Peki, en altta isimsiz bir namespace var? O global 
    namespace’dir. İçerisinde hem diğer namespace’leri çağırabilirsiniz hem de normal 
    PHP kodlarınızı yazmaya devam edebilirsiniz. En üstteki declare() metodu object’in 
    encoding’ini belirtmek için kullanılmaktadır. enconding haricindeki Diğer 
    property’leri namespace kullanılan sayfalarda kullanılamaz!

•   Bir de childSpace’de use secondSpace ile seconSpace’i çağırdık ve as ss ile 
    secondSpace ismini ss keyword’ne atadık. Değişken tanımlamak gibi düşünürsek 
    $ss = “secondSpace”; dir. Bundan dolayıda artık secondSpace’i ss temsil edecektir. 
    Bu nedenle $conn_open variable’ın da secondSpace\conn_open yerine 
    ss\conn_open kullanılmıştır.

•   NOT: namespace tanımı üzerinde declare(); metodu hariç hiçbir kod olamaz, aksi 
    taktirde PHP Compiler ERROR dönecektir.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:7/3/2013
language:Turkish
pages:70