Home

  • PHP Dersleri Form Uygulaması

    PHP başlangıç seviyesinde teorik olan eğitim bitti.

    Neleri işledik şimdi bir gözden geçirelim:

    • Değişkenler ve Sabitler.
    • Fonksiyonlar
    • Operatörler
    • Dizi değişkenleri
    • Kontrol yapıları
    • Döngüler

    15 ders yaptık, bu dersimiz 16. Ders ve temel eğitimi burada bitiriyoruz, temel eğitimin amacı programlama ile ilgili kavramlara aşinalığınızı arttırırken, ufak tefek işlerde rahat rahat kullanabileceğiniz kadar PHP bilgisini size vermekti.

    Eski eğitimlerin sonunda genelde veri tabanı uygulaması yapardım ama artık veritabanı bağlantısı nesne yönelimliye çevrildi PHP’de artık. O nedenle ileri seviye eğitimde veritabanı ile ilgili örneklere yer vereceğim.

    Bugün bir form örneği yapacağım.

    Öncelikle vakit kaybetmeden formumuzu tasarlayıp, index.html adıyla kaydediyoruz.

    
    
    
    
    PHP form örneği
    
    
    
    
    
    
    
    
    
    tablo başlığı
    
    
    İsim
    Soyisim

    tasarladığımız formu index.php adıyla kaydettik, bu noktada konuşmamız gereken bir satır var. <form method=”GET” action=”yorumlayici.php”> bu tarayıcınıza şunu söylüyor, bu formdaki verileri, get metodunu kullanarak, yorumlayici.php dosyasında gönder. Get methodu tarayıcının adres çubuna verileri yazdığı için güvenli değildir ve formlarda pek tercih edilmez ancakbilmekten zarar gelmez.

    Yorumlayici.php dosyamızı kodlamadan önce formumuzu doldurup gönder butonuna tıklıyoruz ve yukarıda belirttiğim riski görüyoruz.

    Yani şifre gönderdiğimiz bir formda adres çubuğunda şifre gözükecek, olumsuz bir durum oluşmasını engellemek için şifreyi kriptoladıktan sonra gönderebiliriz fakat daha kolay bir çözüm daha var.

    Neyse biz örneğimize geri dönelim.

    Yorumlayici.php dosyasını şu şekilde kodlayalım:

    <?php
    
    $isim = $_GET['isim'];
    
    $soyisim = $_GET['soyisim'];
    
    echo $isim . " 
    "; echo $soyisim; ?>

    gördüğünüz gibi index.php de formdaki inputlardan name kısmına göre verileri alabiliyoruz. Kodumuzun ekran çıktısı ise bu şekilde oluyor:

    Get ile gönderilen değerler $_GET dizi değişkeni altında, formdaki inputun ismi anahtar değeriyle tanımlanıyor.

    Şimdi sıra geldi ikinci örneğimize.

    İkinci örnekte aynı uygulamayı post ile yapacağız. Şimdi başka bir klasöre aynı dosyaları kopyalıyoruz. İndex.php dosyasının 6. Satırında method=”GET”’i method=”POST” ile değştiriyoruz.

    Şimdi formu aynı değerlerle doldurup gönderelim:

    Gördüğünüz gibi adres çubuğunda herhangi bir parametre değeri almıyor, hedef dosya.

    Şimdi yorumlayici.php dosyamızı açıp, içerisine bunları yazalım:

    
    <?php
    
    $isim = $_POST['isim'];
    
    $soyisim = $_POST['soyisim'];
    
    
    echo $isim . " 
    "; echo $soyisim; ?>

     

    POST ile GET arasında PHP’de verilerin alımında kullandığımız değişkenin ismi değişiyor. Ancak post ile veri göndermek, get ile veri göndermeye nazaran çok daha güvenli.

    Artık bir form üzerinden de veri gönderip alabilirsiniz.

    Temel düzeyde eğitimlerimiz bu uygulama ile sona erdi.

    Bir dahaki serimizde, gelişmiş düzeyde eğitim ile devam edeceğiz, veritabanı, mimari, nesne yönelimli programlama ile devam edeceğiz.

    Yorumlarınız ve sorularınızı çekinmeden yazmaya devam ediniz. İyi günler dilerim.

  • PHP Dersleri 14: Döngüler 3

    Geçen derslerde for ve while döngülerini çalışmıştık. Artık döngüler konusuna alışmış olduğunuzdan, kalan döngüleri tek bir derste işlemekten yana bir sıkıntı görmüyorum. While’ın bir türevi olan do-while döngüsü ve dizi elemanlarında işimizi çok kolaylaştıran bir döngü türü olan foreach döngüsü ile konuyu kapatacağım.

    Do-whlie döngüsü ile işe başlıyoruz.

    While döngüsünde, önce şartı kontrol edip daha sonra işlemi yapardı. Yani PHP yorumlayıcımız, while($i < 4) şeklinde bir satıra denk geldi, döngünün gövdesine çalıştırmaya başlamadan önce, koşulu kontrol ediyor. Eğer koşul sağlanmıyorsa, döngünün gövdesi hiç çalışmıyordu. Yani while döngüsünde iterasyon sayısı 0 olabiliyor.

    Do-while döngüsünde ise öncelikle bir iterasyon yapılıyor, sonra koşul kontrol ediliyor. Bu nedenle en az bir iterasyon yapıyor.

    Şimdi aynı döngü gövdesini, while ve do while ile kodlayıp ikisinin çıktılarını da görelim.

    
    <?php
    
    
    $i = 5;
    
    
    while($i < 3)
    
    {
    
    echo "Ben while döngüsüyüm" . "
    "; $i++; } do { echo "ben do-while döngüsüyüm
    "; $i++; } while($i

    Burada aynı koşullu ve çok benzer gövdeli iki tip döngüye göre kodlama yaptık. Ekranımıza şu şekilde çıktı veriyor.

     

    while döngüsünde önce koşulu kontrol ettiği için döngü gövdesini çalıştırmıyor.

    Şimdi gelelim foreach döngüsüne, foreach döngüsü dizi değişkenlerinde ve koleksiyonlarda kullanılıyor.

    Foreach döngüsünün iki adet farklı sözdizimi var, ilkinde dizinin bütün elemanlarının değerler geçiyor. İkinci sözdiziminde dizideki bütün elemanlar anahtar isimleriyle birlikte anahtar-değer ikilisi olarak geçiyor.

    Öncelikle ilk basit sözdizimini kullanarak bir örnek yapalım.

    
    <?php
    
    $dizi = array(1, 2, 3, 5, 8, 13, 21);
    
    
    echo "elemanların iki katları: 
    "; foreach ($dizi as $deger) { echo $deger * 2 . "
    "; } ?>

     

    dizideki bütün elemanların iki katlarını sırayla, alt-alta ekrana yazdırıyor.

    Şimdi bu güne kadar değinmediğimiz bir konuya değineceğiz, referanslar. Referanslar tam olarak karşılamasa dahi, C’deki pointer’ın bir dengi.

    Referans bir değişkenin, bellekteki konumuna hitap eder yani bu şekilde, dizideki herhangi bir elemana değil içerisindeki değere ulaşma şansımız var.

    Aynı örnekte birazcık değişiklik yaparak diziyi tamamen modifiye edeceğiz. Kodumuzun çıktısı bu olacak. Dizilerdeki bütün elemanları ikiye katlayacağız.

    <?php
    
    $dizi = array(1, 2, 3, 5, 8, 13, 21);
    
    echo "elemanların iki katları: 
    "; foreach ($dizi as &$deger) { $deger = $deger * 2; } print_r($dizi); ?>

    ilk örnekten farkı şu, biz ilk örnekte, bir değişken değeri ele alırken, ikinci örnekte değişkenin kendisini ele aldık.

    Şimdi foreach’in ikinci türüne geçiyoruz. Daha önce kullandığımız dizi içerisindeki dizimizi, ve anahtar değer ikilisi örneği yapacağız.

     "Fiat", "satis" => 12, "stok" => 9),
    
    array("marka" => "BMW", "satis" => 20, "stok" => 2),
    
    array("marka" => "Volvo", "satis" => 8, "stok" => 8)
    
    );
    
    for($i = 0; $i < count($arabalar); $i++){
    
    $araba = $arabalar[$i];
    
    
    foreach ($araba as $anahtar => $deger) {
    
    echo $anahtar . " anahtarında " . $deger . " değerinde 
    "; } } ?>

     

    öncelikle for döngüsü ile her bir diziyi tek olarak ele alıyoruz. Foreach döngüsünde ise, arabadaki her anahtar ve değeri birer birer ekrana yazdırıyoruz. Bu kodumuzun çıktısı ise tahmin ettiğiniz gibi oluyor:

    Bu dersle ilgili sorularınızı, eleştirilerinizi ve önerilerinizi bekliyorum. İyi çalışmalar dilerim.

  • PHP Dersleri 13: Döngüler 2

    While İngilizce “iken” demek malumunuz, yani istediğiniz komutlar, kontrol ettiğiniz ifade doğru iken çalıştırılacak. Dikkat etmeniz gereken şey while döngüsü kullandığınızda, sonsüz döngüye girmemesi için artım miktarını ayarlamayı unutmamanız.

    1. ders ile ilgili örneğimize bunu yazıp çalıştırıyoruz.

     

    Örneğin:

    = $b){
    
    echo $a-- . "
    "; } ?>

    Ancak while ile ilgili anlatmak istediklerim bu kadar değil. While ve dizi değişkenlerini kullanarak bir örnek daha vermek istiyorum. Bir dizinin bütün elemanlarını ekrana while döngüsü ile nasıl basabilirsiniz?

    
    <?php
    
    $dizi = array("Masa", "Sandalye", "Koltuk", "Kalem", "Kağıt", "Defter", "Kitap");
    
    
    
    $indis = 0;
    
    $uzunluk = count($dizi);
    
     
    
    while($indis < $uzunluk){
    
    echo $dizi[$indis] . "
    "; $indis++; } ?>

     

    Hazır dizi elemanlarını ekrana basmaya başlamışken, for döngüsüne bir saniyeliğine geri dönüp for döngüsü ile aynı işlemin nasıl yapılacağına bir göz atalım.

    <?php
    
    $dizi = array("Masa", "Sandalye", "Koltuk", "Kalem", "Kağıt", "Defter", "Kitap");
    
    
    for($i = 0; $i < count($dizi); $i++){
    
    echo $dizi[$i] . "
    "; } ?>

     

    Bu kod da while döngüsünde olduğu gibi, Masa’dan kitaba kadar bütün elemanları alt alta yazdıracak.

    Uygulama

    Artık ufak tefek uygulamalar yapacak seviyeye geldik. Bu konuda bir örnek yapıp bir de uygulama önerisinde bulunmak istiyorum.

    Bu listemizin elemanlarını, her birinin arasına bir virgül koyarak (sonuncu hariç) ekrana yazdıralım.

    <?php
    
    $dizi = array("Masa", "Sandalye", "Koltuk", "Kalem", "Kağıt", "Defter", "Kitap");
    
     
    
    for($i = 0; $i  
    

     

    Uygulama

    For ve while kullanarak ekrana üçgen çizdirelim. Yazdığımız programın çıktısı bu olacak:

    Bu programı ise en basit şekliyle şöyle yazıyoruz.

     

    
    <?php
    
    $boyMax = 10;
    
    $yildizSayisi = 1;
    
    for($i = 0; $i < $boyMax; $i++){
    
    $j = 0;
    
    while( $j < $yildizSayisi )
    
    {
    
    echo"*";
    
    $j++;
    
    }
    
    echo "
    "; $yildizSayisi++; } ?>

     

    Kendinize iyi bakın. Yorum ve önerilerinizi bekliyorum.

  • PHP Dersleri 9: Dizi Değişkenleri

    Değişkenlerden bahsederken sinemadaki koltuklara benzetmiştik. Peki ya bütün sinema salonunu tanımlamak istersek ne yapacağız? Bu noktada dizi değişkenlerini kullanabiliyoruz. Excel’deki gibi satır ve sütunlar şeklinde tanımlanabilen, her bir hücresinde bir nesne ya da bir değişken taşıyabilen değişken türlerine dizi değişkeni denir.

    Dizi değişkenleri bir boyutlu olabilecekleri gibi sonsuz boyuta sahip olabilirler.

    Bir satranç tahtası hayal edin. Ama sadece bir satırını düşünün. Satırın üzerinde 8 tane kare var. İlk kareyi saymaya kural olarak 1 yerine 0 ile başlıyoruz. Yani ilk karenin indisi 0 oluyor, böylece son karenin indisi 7 oluyor.

    Peki tek bir satır yerine bütün tahtayı düşünürsek dizimiz nasıl olacaktı?

    [0][0] indisinden başlayıp [7][7] indisine kadar devam edecekti. Bu sayede 8*8 = 64 elemanlı bir dizimiz oluşacaktı.

    Peki PHP’de bir dizi nasıl tanımlanır?

    PHP’de dizileri kendimiz elle tanımlayabileceğimiz gibi array() fonksiyonundan da faydalanabiliriz. Array fonsiyonunu iki farklı biçimde kullanabiliyoruz. Bunlardan ilk $dizi = array(eleman1, eleman2, eleman3) bu şekilde tanımlanmış dizilerdeki elemanlara $dizi[0], $dizi[1] şeklinde erişebiliyoruz.

    Bir diğer kullanım yöntemi de, indisleri isimlendirmektir.

    $dizi = array(“marka” => “Volvo”, “satis” => 11, “stok” => 12);

    Buradaki elemanlara hem indis numarası ile erişilebilri hem de $dizi[“marka”]; komutu ile erişilebilir. Şimdi dizilerle ilgili ufak bir örnek yapalım. 9 klasörü içerisine bir index.php dosyası açıp kodlamaya başlayalım.

    <?php
    
    $arabalar = array("BMW", "Volvo", "Fiat");
    
    
    echo $arabalar[0] . "
    "; echo $arabalar[1] . "
    "; echo $arabalar[2] . "
    "; ?>

     

    Bu şekilde dizideki üç elemanı da ekrana yazdırabiliyoruz. Gördüğünüz gibi dizilerde indisler 0’dan başlıyor. Şimdi bir de iki boyutlu dizilere bir örnek yapalım, iki boyutlu dizi mantığı ile çok boyutlu dizilerin mantığı aynıdır. Şimdi index2.php dosyamızı açalım ve içine şu scripti yazalım:

     "Fiat", "satis" => 12, "stok" => 9),
    
    array("marka" => "BMW", "satis" => 20, "stok" => 2),
    
    array("marka" => "Volvo", "satis" => 8, "stok" => 8)
    
    );
    
    echo "Marka: ". $arabalar[0]["marka"]. " Satış: ". $arabalar[0]["satis"] . " Stok: " . $arabalar[0]["stok"] . "
    "; echo "Marka: ". $arabalar[1]["marka"]. " Satış: ". $arabalar[1]["satis"] . " Stok: " . $arabalar[1]["stok"] . "
    "; echo "Marka: ". $arabalar[2]["marka"]. " Satış: ". $arabalar[2]["satis"] . " Stok: " . $arabalar[2]["stok"] . "
    "; ?>

    Bu kodumuzun çıktısı ise

    Şeklinde oluyor.

    Dizi değişkenleri konumuzun bu şekilde sonuna geldik.

    Yorum ve önerilerinizi bekliyorum, bir daha ki derste görüşene kadar hoşçakalın.

  • PHP Dersleri 9: Dizi Değişkenleri

    Değişkenlerden bahsederken sinemadaki koltuklara benzetmiştik. Peki ya bütün sinema salonunu tanımlamak istersek ne yapacağız? Bu noktada dizi değişkenlerini kullanabiliyoruz. Excel’deki gibi satır ve sütunlar şeklinde tanımlanabilen, her bir hücresinde bir nesne ya da bir değişken taşıyabilen değişken türlerine dizi değişkeni denir.

    Dizi değişkenleri bir boyutlu olabilecekleri gibi sonsuz boyuta sahip olabilirler.

    Bir satranç tahtası hayal edin. Ama sadece bir satırını düşünün. Satırın üzerinde 8 tane kare var. İlk kareyi saymaya kural olarak 1 yerine 0 ile başlıyoruz. Yani ilk karenin indisi 0 oluyor, böylece son karenin indisi 7 oluyor.

    Peki tek bir satır yerine bütün tahtayı düşünürsek dizimiz nasıl olacaktı?

    [0][0] indisinden başlayıp [7][7] indisine kadar devam edecekti. Bu sayede 8*8 = 64 elemanlı bir dizimiz oluşacaktı.

    Peki PHP’de bir dizi nasıl tanımlanır?

    PHP’de dizileri kendimiz elle tanımlayabileceğimiz gibi array() fonksiyonundan da faydalanabiliriz. Array fonsiyonunu iki farklı biçimde kullanabiliyoruz. Bunlardan ilk $dizi = array(eleman1, eleman2, eleman3) bu şekilde tanımlanmış dizilerdeki elemanlara $dizi[0], $dizi[1] şeklinde erişebiliyoruz.

    Bir diğer kullanım yöntemi de, indisleri isimlendirmektir.

    $dizi = array(“marka” => “Volvo”, “satis” => 11, “stok” => 12);

    Buradaki elemanlara hem indis numarası ile erişilebilri hem de $dizi[“marka”]; komutu ile erişilebilir. Şimdi dizilerle ilgili ufak bir örnek yapalım. 9 klasörü içerisine bir index.php dosyası açıp kodlamaya başlayalım.

    <?php
    
    $arabalar = array("BMW", "Volvo", "Fiat");
    
    
    echo $arabalar[0] . "
    "; echo $arabalar[1] . "
    "; echo $arabalar[2] . "
    "; ?>

     

    Bu şekilde dizideki üç elemanı da ekrana yazdırabiliyoruz. Gördüğünüz gibi dizilerde indisler 0’dan başlıyor. Şimdi bir de iki boyutlu dizilere bir örnek yapalım, iki boyutlu dizi mantığı ile çok boyutlu dizilerin mantığı aynıdır. Şimdi index2.php dosyamızı açalım ve içine şu scripti yazalım:

     "Fiat", "satis" => 12, "stok" => 9),
    
    array("marka" => "BMW", "satis" => 20, "stok" => 2),
    
    array("marka" => "Volvo", "satis" => 8, "stok" => 8)
    
    );
    
    echo "Marka: ". $arabalar[0]["marka"]. " Satış: ". $arabalar[0]["satis"] . " Stok: " . $arabalar[0]["stok"] . "
    "; echo "Marka: ". $arabalar[1]["marka"]. " Satış: ". $arabalar[1]["satis"] . " Stok: " . $arabalar[1]["stok"] . "
    "; echo "Marka: ". $arabalar[2]["marka"]. " Satış: ". $arabalar[2]["satis"] . " Stok: " . $arabalar[2]["stok"] . "
    "; ?>

    Bu kodumuzun çıktısı ise

    Şeklinde oluyor.

    Dizi değişkenleri konumuzun bu şekilde sonuna geldik.

    Yorum ve önerilerinizi bekliyorum, bir daha ki derste görüşene kadar hoşçakalın.

  • PHP Dersleri 8: Fonksiyonlar – 2

    Bir önceki dersimizde yarıda ve tam da tadı damağımızda kalmışken kestiğimiz fonksiyonlar konusu tüm hızıyla devam ediyor. PHP dersleri’nin bu bölümünde değer döndüren fonksiyonlar konusu ile devam edeceğiz.

    Bir önceki dersteki fonksiyonlar, kendi işlemlerini kendileri yapıp kendileri sonuçlandırıyor. Ancak bazı durumlarda, bir fonksiyonun işlemlerini yapması için karmaşık başka bir dizi işlemin sonucuna sahip olması gerekir. Bu durumda da değer döndüren bir fonksiyona ihtiyaç duyarız.

    Bir fonksiyonun değer döndürmesi için de kullandığımız anahtar kelime “return” anahtar kelimesi. Bir önceki dersteki örneğimizi biraz değiştiriyoruz:

    <?php
    function topla($bir, $iki){
    
    return $bir + $iki . "
    "; } function cikar($bir, $iki){ return $bir - $iki; } echo topla(1, 2); echo cikar(15, 5); ?>

    Gördüğünüz gibi fonksiyonumuzun içerisindeki echo yerine return alarak, ekrana bir şey basma bağımlılığından kurtardık.

    Ders içeriği tarafında değindiğim gibi bir de özyinelemeli fonksiyonlardan bahsedeğim. Bir fonksiyon tanımlayıp faktöriyel hesabı yaptıracağız. Örneğin 5! Hesabını yaptıralım. Döngüler kullanarak da yapılabilecek bu hesap, döndüye ihtiyaç duymadan özyinelemeli bir fonksiyonlar hesaplanabilir.

    
    

     

    Henüz kontrol mekanizmalarını anlatmadığım için oradaki if’i açıklamak durumundayım. Eğer faktoriyel(0) a kadar geldiyse geriye bir döndürmesini aksi taktirde kendini bir küçük parametre ile tekrar çağırmasını söylüyor.

    Faktoriyel(5) ise geriye sonuç olarak 120 döndürüyor.

    Siz de özyinelemeli fonksiyonları kullanarak kuvvet alan bir fonksiyon tanımlayınız.

    Bir dahaki derste dizi değişkenleri ile devam edeceğiz. Yorumlarınızı esirgemeyiniz.

  • PHP Dersleri 8: Fonksiyonlar – 2

    Bir önceki dersimizde yarıda ve tam da tadı damağımızda kalmışken kestiğimiz fonksiyonlar konusu tüm hızıyla devam ediyor. PHP dersleri’nin bu bölümünde değer döndüren fonksiyonlar konusu ile devam edeceğiz.

    Bir önceki dersteki fonksiyonlar, kendi işlemlerini kendileri yapıp kendileri sonuçlandırıyor. Ancak bazı durumlarda, bir fonksiyonun işlemlerini yapması için karmaşık başka bir dizi işlemin sonucuna sahip olması gerekir. Bu durumda da değer döndüren bir fonksiyona ihtiyaç duyarız.

    Bir fonksiyonun değer döndürmesi için de kullandığımız anahtar kelime “return” anahtar kelimesi. Bir önceki dersteki örneğimizi biraz değiştiriyoruz:

    <?php
    function topla($bir, $iki){
    
    return $bir + $iki . "
    "; } function cikar($bir, $iki){ return $bir - $iki; } echo topla(1, 2); echo cikar(15, 5); ?>

    Gördüğünüz gibi fonksiyonumuzun içerisindeki echo yerine return alarak, ekrana bir şey basma bağımlılığından kurtardık.

    Ders içeriği tarafında değindiğim gibi bir de özyinelemeli fonksiyonlardan bahsedeğim. Bir fonksiyon tanımlayıp faktöriyel hesabı yaptıracağız. Örneğin 5! Hesabını yaptıralım. Döngüler kullanarak da yapılabilecek bu hesap, döndüye ihtiyaç duymadan özyinelemeli bir fonksiyonlar hesaplanabilir.

    
    

     

    Henüz kontrol mekanizmalarını anlatmadığım için oradaki if’i açıklamak durumundayım. Eğer faktoriyel(0) a kadar geldiyse geriye bir döndürmesini aksi taktirde kendini bir küçük parametre ile tekrar çağırmasını söylüyor.

    Faktoriyel(5) ise geriye sonuç olarak 120 döndürüyor.

    Siz de özyinelemeli fonksiyonları kullanarak kuvvet alan bir fonksiyon tanımlayınız.

    Bir dahaki derste dizi değişkenleri ile devam edeceğiz. Yorumlarınızı esirgemeyiniz.

  • PHP Dersleri 12: Döngüler 1

    Bir kaç uygulama dersi öncesinde teori çalışacağımız son derslere girmiş bulunuyoruz, bu derslerde döngüleri işleyip daha sonra bu öğrendiklerimizi pekiştirmek için uygulamalar yapacağız.

    Döngüler bir ifadenin kaç defa çalıştırılacağını gösteren kod parçalarıdır. Döngüler birbirinin yerine kullanılabilir ancak bazı durumlarda, belirli bir tipte döngünün kullanılması kaçınılmazdır.

    Bu dersleri de kontrol yapılarında olduğu gibi parçalayarak anlatmayı tercih ediyorum, ilk dersimizde for döngüsünü anlatacağım. For döngüsü, adım büyüklüğü, başlangıcı ve sonucu belli durumlarda kullanılması tercih edilen bir döngüdür.

    Yani evden bakkala birer birer on adım git şeklindeki ifadeleri for döngüsü kullanarak PHP’ye çeviriyoruz. Ya da başlangıçtan, 30. Basamağa kadar merdivenleri ikişer ikişer çık. Örneklerden görebileceğiniz gibi, başı, sonu ve adım büyüklüğü belli olan örneklerden for döngüsü kullanılıyoruz. Şimdi bunu bir kaç örnekle somutlaştıralım. Ders 12’ye ait klasörümüze bir index.php dosyası açıyoruz.

    
    <?php
    
    for($i=0; $i < 10; $i++){
    
    echo $i . "
    "; } ?>

     

    İçerisine yazdığımız bu kodu çalıştırdığımız zaman çıktısı bu şekilde oluyor:

    Peki neden 0’dan başladı da 9’a kadar geldi, 10 yerine? For’un ilk parametresi başlagınç noktası, ikinci parametresi sınır’ı, üçüncü parametresi ise, adım büyüklüğü.

    For başlangıç noktasına geldikten sonra koşulu kontrol eder, ifadeyi çalıştırır, adım atar, koşulu kontrol eder, adım atar…

    Peki 1’den 30 da kadar 3’er 3’er bütün satıları yazmasını istersek? Bunu da bir index2.php dosyasına kaydediyoruz.

    
    <?php
    
    for($i=1; $i <= 30; $i += 3){
    
    echo $i . "
    "; } ?>

    Gördüğünüz gibi programın başlangıç noktası, çalışma koşulu ve adım büyüklüğü değişebiliyor.

    For döngüsü ile ilgili temel konularımız bu kadar. Bir dahaki dersimizde while döngüsü ile devam edeceğiz. Yorum ve eleştirilerinizi, sorularınızı yanıtlamayı dört gözle bekliyorum.

  • PHP Dersleri 11: Kontrol Yapıları 2

    Yazılıma yeni başlayan arkadaşlar, switch case yapısını karmaşık bulurlar, halbuki bu yapı, çok kullanışlıdır ve işlerimizi çok kolaylaştırır. Aslında switch case yapısının görevi, çok fazla sayıda if kullanacağımız ifadeleri sadeleştirmek ve basitleştirmektir. Örneğin bir tshirt’ün rengini kontrol edeceğiz, bunun için 5-6 tane if else if yazacağımız bir switch ifadesi ile bunu yapabiliyoruz.

    Peki bu nasıl oluyor? Hemen 11. Ders klasörümüze bir index.php dosyası açıyoruz.

    
    

     

    Bu kodda yaptığımız şey temel olarak, $renk değişkenin değerini kontrol etmek. Pek çok if –else if kullanmak yerine, bir tane switch yapısı kullanarak istediğimiz kontrolleri yerine getirebiliyoruz. Bu script ekrana siyah yazısını bastırıyor.

    Peki ya bir kaç özel durum dışında, kalan bütün değerler için aynı çıktıyı vermemiz gerekirse? İf, elsif’ler ve else mi kullanacağız? Tabii ki hayır. Bu durumda, özel bir ifade olan “default” ifadesini kullanıyoruz. Default ifadesii case ile kontrol dışında kalan bütün durumlar için anlamında kullanılıyor.

    Scriptimizi şu şekilde değiştirirsek ne olacak peki?

    
    

    Ekrana stokta yok yazdıracak. Çünkü pembe için bir kontrolümüz yok.

    PHP’de kontrol yapıları konumuzun da sonuna geldik. Bundan sonraki derste döngüler konusu ile devam edeceğiz. İyi çalışmalar dilerim, yorum ve önerilerinizi bekliyorum.

  • PHP Dersleri 10: Kontrol Yapıları 1

    Aslında temel düzey php konularımızın yarısını bitirdik, ders sayısı olarak yarısını geçtik hatta. Aslında konuların güzel ve artık uygulama yapabileceğiniz kısmı kaldı.

    Temel düzey PHP dersleri serimizde şimdi kontrol yapılarını anlatma vaktidir.

    Kontrol yapıları, değişkenlerin ve objelerin çeşitli özelliklerini kontrol ederek program akışını yönlendiren yapılardır.

    Bunu aslında normal hayattan örneklerle anlatmak çok daha kolay. Örneğin evden çıkacaksını ve mevsimlerden kış. Çoğunluğmuz kendi kendimize bunu söylüyoruz: “Eğer hava yağmurluysa, şemsiye alacağım.” Bu da bizim hayatımızdaki bir kontrol mekanizması.

    Bu kontrol mekanizmaları sayesinde durumlara bakıp onlara göre, bir sonraki hamleyi planlama şansımız oluyor.

    PHP’de kontrol mekanizması denince herkesin aklına önce if geliyor. Bu derste if, if-else, if-else if- else yapılarını göstereceğim, diğer dersimizde kontrol yapılarına, switch case ile devam edeceğiz.

    Öncelikle 10. Ders klasörümüze bir index.php dosyası açıp bir örnek ile başlıyoruz.

     $sayi1){ 
    echo "sayi2, sayi1'den büyük "; 
    } 
    ?>
    

    Şimdi sadece if kullandığımız bu örneği açıklamak istiyorum. If parantezleri içerisindeki ifade, mantıksal olarak doğruysa, süslü parantezlerin içerisine girip oradaki ifadeleri çalıştırmaya başlıyor. O yüzden $mantiksal değişkenimiz doğru olduğundan süslü parantezlerin içerisine girip echo ifadesini çalıştırıyor.

    İkinci if yapısında $sayi2 > $sayi1 mantıksal ifadesinin doğruluğunu kontrol ediyor. 7 > 3 ifadesi de doğru olduğu için yine süslü parantez içerisine giriyor ve ifadeleri çalıştırıyor.

    Şimdi ikinci bir örnekle if-else yapısını tanıyacağız. Aynı scripti index2.php olarak kopyalayarak, üzerinde biraz değişiklik yapıyoruz.

     $sayi1){ 
    echo "sayi2, sayi1'den büyük "; 
    } else { 
    echo "sayi2, sayi1'den küçük"; } ?>
    

     

    Burada yaptığımız tek değişiklik $sayi1 ve $sayi2’nin değerlerini değiştirmek. Ardından ikinci if yapımıza bir else ekliyoruz. Kod çalıştığı zaman, 3 > 7 ifadesini kontrol ediyor ve yanlış sonucunu veriyor. Bundan mütevellit else içerisindeki ifadeleri çalıştırıyor.

    Yani if değeri yanlışsa, program else ifadesine yöneliyor.

    Peki ya bizim if’te kontrol edeceğimiz değerlerin ne olacağını bilmiyorsak ne olacak?

    Bu durumda 3 ve daha fazla şart için if-else if- else yapısını kullanıyoruz. Bunu bir örnekle anlamak için index3.php adında bir dosya daha oluşturuyoruz.

     $sayi1){ 
    echo "sayi2, sayi1'den büyük "; 
    } else if ($sayi2 
    

    İçerisine bu kodları yazıyoruz. Ve ekrana verdiği çıktı, eşitliğin olduğu yönünde, gördüğünüz gibi program, birinci ifi kontrol ettiken sonra else if i daha sonra 2. Else if’i kontrol ediyor ve hepsinin yanlışlığını ispat ettikten sonra, else içerisindeki ifadeyi çalışyırıyor.

    If yapıları bu şekidle çalışıyor. Değişkenlerin bireysel ve birbirine göre durumunu kontrol edip, durumlarına göre çeşitli ifadeler çalıştırıyor.

    If konusunda temel olarak anlatacağımız başka bir şey kalmadı, bir dahaki derste, switch case kontrol yapısını konuşacağız. Yorumlarınızı ve eleştirilerinizi bekliyorum.