Operatörler. İnternet Programcılığı 2. Operatörler

Benzer belgeler
BÖLÜM 3 OPERAT A ÖRLER

HSancak Nesne Tabanlı Programlama I Ders Notları

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

İnternet Programcılığı Dersi 2.Dönem Ders Notu

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Internet Programming II

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Akış Kontrol Mekanizmaları

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

Java da Program Denetimi ve Operatörler

Programlama Dilleri 3

Nesne Yönelimli Programlama

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Nesne Yönelimli Programlama

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

BÖLÜM 4 KONTROL DEYİMLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

6. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Akış Konrol Mekanizmaları

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

1 JAVASCRIPT NEDİR? 1

PHP Programlamaya Giriş

PASCAL PROGRAMLAMA DİLİ YAPISI

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

Mantıksal İşlemler. 7.1 true, false, nil

PROGRAMLAMAYA GİRİŞ DERS 2

Bilgisayar Programlama

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

BİL-142 Bilgisayar Programlama II

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

ALGORİTMA VE PROGRAMLAMA I

PROGRAMLAMA DİLLERİ I

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Bölüm 4 C de Program Kontrolü

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

C Dersleri Bölüm 3 : Program akışı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Diziler İndisli Değişkenler

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Karşılaştırma İşlemleri ve Koşullu İfadeler

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

YZM 2105 Nesneye Yönelik Programlama

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Program Akış Kontrol Yapıları

Öğr. Gör. Serkan AKSU 1

Python Programlama Dili

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Lambda İfadeleri (Lambda Expressions)

YZM 2105 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

C Programlama Dilininin Basit Yapıları

NESNEYE YÖNELİK PROGRAMLAMA

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Fen ve Mühendislik Uygulamaları ile MATLAB

1. LabVIEW ile Programlama

Nesne Tabanlı Programlama

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

1 PROGRAMLAMAYA GİRİŞ

program uc_hata implicit none integer : x(5),i

Fonksiyon nedir? <?php $deger = pow(5,3); //625 döndürür echo $deger; echo "<br>", pow(5,3);

FORMÜLLER VE FONKSİYONLAR

BİLGİSAYAR PROGRAMLAMA DERSİ

Genel Programlama II

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Transkript:

PHP Bu derste, operatörleri, kontrol yapılarını ve fonksiyon yapılarını işleyeceğiz. Karşılaştırma işlemlerinde, hesaplamalarda, mantıksal işlemlerde ve daha bir çok konuda karşımıza çıkan operatörler PHP'nin önemli yapı taşlarıdır. Kontrol yapıları diyince aklımıza koşul ifadeleri (şartlar) ve döngüler gelmelidir. Bunların yanında bir PHP scripti içerisine başka bir PHP scriptini gömmeyi öğreneceğiz. Fonksiyon yapısını ve fonksiyonlarla ilgili olan komutları, kendi fonksiyonlarımızı nasıl yapacağımızı inceleyerek dersimizi tamamlayacağız. İnternet Programcılığı 1 Önceliği Bütün programlama dilleri gibi PHP için de işlemlerin hangi sırada yapıldığı önem taşır. "5 + 4 * 2" işleminin sonucu, önce 5 ile 4'ün toplanması ve sonucun 2 ile çarpılması halinde başka, 4'ün 2 ile çarpılması ve sonucun 5 ile toplanması halinde başka olacaktır. Bu bakımdan, PHP'nin hangi işlemi önce yaptığı, hangi işlemi sonra yaptığını bilmemiz gerekir. Aşağıdaki tablo, PHP'deki işlemlerin öncelik sırasını göstermektedir (aşağıya doğru öncelik artar). İnternet Programcılığı 2 Öncelik Sırası, = += -= *= /=.= %= &= = ^= && ^ ==!= < <= > >= + -. * / % New İnternet Programcılığı 3 Aritmetik Aritmetik operatörler, ilkokuldan bildiğiniz 4 işlemi (+ mod alma) gerçekleştirmek için kullanılırlar. Aşağıdaki tablo bu operatörlerin kullanımını ve yaptıkları işlemleri göstermektedir. $a + $b Toplama $a - $b Çıkarma $a * $b Çarpma $a / $b Bölme $a % $b Mod alma (kalan) İnternet Programcılığı 4 Atama i Temel atama operatörü "=" 'dir. Aslında "=" sembolünü gördüğünüzde ilk aklınıza gelenin "eşittir" olduğunu tahmin ediyorum, fakat PHP'de bu böyle değildir. "=" operatörü sadece, sağında bulunan ifadeyi solundakine atamak için kullanılır. $a = 5 gibi. İnternet Programcılığı 5 Bir atama ifadesinin değeri, atanan değerdir. Örneğin "$a = 3" ifadesinin değeri 3 olur. Bunu şu basit örnekle deneyebilirsiniz: if ($a=3) echo "if"; else echo "else"; Burada "$a=3" ifadesinin değeri 3 olacağı ve if koşulunda ifadenin değerinin 0 dışında bir değer olması durumunda sonucun true (doğru) olacağı düşünüldüğünde ekrana "if" yazar. Fakat "$a=3" yerine "$a=0" deseydik, ifadenin değeri de 0 olacağından, bu durumda "else" durumu gerçekleşecekti. İnternet Programcılığı 6 Temel atama operatörüne ek olarak, ifade içerisinde değer kullanımına ve onun değerini de ifadenin sonucuna atamaya izin veren birleştirme operatörleri bulunmaktadır. Bunu şu örnekle daha iyi anlamak mümkün olacaktır: $a = 3; $a += 5; // $a'ya 8 atar, sanki şunu yapmışız gibi: $a = $a + 5; echo $a; // ekrana 8 yazar $b = "ULUDAĞ"; $b.= BİLPROG"; // $b'ye "ULUDAĞ BİLPROG" atar, şunun gibi $b = $b. BİLPROG"; echo $b; // ekrana "ULUDAĞ BİLPROG" yazar İnternet Programcılığı 7 Bit Düzeyi (Bitwise) İleri seviye programcıların ihtiyaç duyacağı bu operatörler bit düzeyinde işlemler yapmak için kullanılırlar. Aşağıdaki tablo bitwise operatörleri ve işlevlerini göstermektedir: $a & $b And (Ve) $a $b Or (Veya/Yada) $a ^ $b Xor (Dışlamalı Yada) ~ $a Not (Değil) $a << $b Shift left (Sola kaydırma) $a >> $b Shift right (Sağa kaydırma) İnternet Programcılığı 8 Karşılaştırma i Karşılaştırma operatörleri, adından da anlaşılacağı gibi, iki değeri karşılaştırmamızı sağlarlar. $a == $b Eşit $a!= $b Eşit değil $a <> $b Eşit değil $a < $b Küçük $a > $b Büyük $a <= $b Küçük yada eşit $a >= $b Büyük yada eşit İnternet Programcılığı 9 1

Arttırma/Azaltma i PHP, C stilindeki ön ve son ek şeklinde arttırma/azaltma operatörlerini destekler. Bu operatörleri ve kullanımlarını tabloda inceleyelim: ++$a $a++ --$a $a-- Ön-arttırım Son-arttırım Ön-azaltım Son-azaltım İnternet Programcılığı 10 Mantıksal Mantıksal (logical) operatörler; ve, veya, değil gibi lojik durumları kontrol etmek için kullanılırlar. İsim $a and $b And (Ve) $a or $b Or (Veya) $a xor $b Xor (Dışlamalı veya)! $a Not (Değil) $a && $b And (Ve) $a $b Or (Veya) İnternet Programcılığı 11 String i PHP'de 2 adet string operatörü bulunur. Bunlardan ilki, nokta ('.') işareti ile kullanılan birbirine bağlama operatörü, ikincisi ise ('.=') işaretleri ile kullanılan birbirine bağlayarak atama operatörüdür (atama operatörlerinde olduğu gibi). $a = "ULUDAĞ"; $b = $a. BİLPROG"; // $b'nin içeriği "ULUDAĞ BİLPROG" olur. echo $b; $a = ""; $a.= BİLPROG"; // $a'nın içeriği şimdi "ULUDAĞ BİLPROG" oldu echo $a; İnternet Programcılığı 12 Dizi i PHP'deki tek dizi (array) operatörü + operatörüdür. Bu operatör ile sağda gösterilen dizi soldakinin üzerine eklenir, fakat çakışan anahtarlar üzerine yazılmazlar. <pre> $a = array("a" => "ahmet", "b" => "berna"); $b = array("a" => "aysel", "b" => "burhan", "c" => "canan"); $c = $a + $b; var_dump($c); </pre> Bu örneğin çıktısı şu şekilde gerçekleşir: array(3) ["a"]=> string(5) "ahmet" ["b"]=> string(5) "berna" ["c"]=> string(5) "canan" Her bilgisayar dilindeki en önemli yapıtaşları kontrol yapılarıdır. Bu yapılar; eğer, ise, değilse gibi kelimelerinin bilgisayardaki karşılıklarıdır. "Bir işlem sonucu doğru gelirse" diye başlayan koşul ifadeleri bir sonuç için belli sayıda tekrarlanarak bilgisayar programlarını oluştururlar. Bunların yanında tekrarlayan işlemleri yapmak için kullanılan döngü yapıları da kontrol yapıları olarak karşımıza çıkarlar. Şimdi isterseniz en çok kullanılan mantıksal kıyaslama türü olan if koşul ifadelerinden başlayarak kontrol yapılarını tanımaya çalışalım. İnternet Programcılığı 13 İnternet Programcılığı 14 İnternet Programcılığı 15 If Bu komutla belli bir durumun doğruluğu denetlenir ve istenen durumda farklı bir komut çağrılır. Çağrılan komut bir yada birden çok olabilir. Komut dizilerini birbirinden ayırmak için matematik parantezi kullanılır. PHP, if yapısının C ile benzerliğiyle ön plana çıkar: if (ifade) deyim If parantezindeki koşul (ifade), onun boolean değeri ile değerlendirilir. Eğer ifadenin sonucu TRUE ise, PHP deyimi çalıştırır ve eğer değerlendirme sonucu FALSE ise deyim bölümü yok sayılır (görmezden gelinir). Eğer $a değeri $b'den büyükse aşağıdaki örnek ekrana "a, b'den büyüktür" yazar. if ($a > $b) print "a, b'den büyüktür"; If deyimini, programınızda yeterli esnekliği sağlayabilmeniz amacıyla başka if deyimlerinin içerisinde, hatta defalarca iç içe kullanılabilirsiniz. Çoğu zaman şartlı olarak birden fazla deyim çalıştırmak isteyebilirsiniz. Bu durumda deyimleri tek bir grup olarak tanımlayabilirsiniz. Örneğin aşağıdaki kod, eğer $a değeri $b'den büyükse ekrana "a, b'den büyüktür" yazar ve ardından b'yi a değerine eşitler. $a=8;$b=3; if ($a > $b) print "a, b'den büyüktür"; $b = $a; echo "son durum: a=$a,b=$b"; İnternet Programcılığı 16 İnternet Programcılığı 17 İnternet Programcılığı 18 2

Else Else kontrolü sadece "if" ile birlikte kullanılır. Eğer "if" sonucu mantıksal denetlemeden yanlış (FALSE) sonucu dönerse else komutuyla yanlış duruma göre istenen komut çağrılır. Yani "if" koşulunu "eğer" olarak Türkçeleştirirsek, "else" koşuluna da "değilse" diyebiliriz. : $a=23;$b=25; if ($a > $b) print "a, b'den büyük"; /* print komutu echo ile aynı görevi görür */ else print "a, b'den büyük DEĞİL"; Elseif Elseif, adından da anlaşılacağı gibi, if ile else komutlarının bir bileşimidir. Else'ye benzer olarak, bağlı olduğu "if" koşulunun doğru olmaması durumunda devreye girer. Fakat "else" den farklı olarak, yalnızca "elseif" koşullu ifadesinin değerinin TRUE olması durumunda belirtilen deyimleri işletir. "elseif" ifadesine, "Değilse ve şöyleyse" şeklinde Türkçe anlam yüklenebilir. Aynı "if" deyimi için duruma göre istenilen kadar elseif koşulu tanımlanabilir. PHP'de elseif ifadesi "else if" şeklinde ayrı ayrı yazılabileceği gibi, "elseif" şeklinde bitişik de yazılabilir, her ikisi de tanımlıdır. İnternet Programcılığı 19 İnternet Programcılığı 20 İnternet Programcılığı 21 Örneğimiz konuyu daha iyi ifade edecektir: $a=14; $b=14; if ($a > $b) print "a, b'den büyük"; elseif ($a == $b) print "a, b'ye eşit"; else print "a, b'den küçük"; İnternet Programcılığı 22 While While döngüsü, PHP'deki en basit döngü tipidir. Basit yapısı şu şekildedir: while (ifade) deyim1; deyim2; While döngüsü içerisine yazılan koşul ifadesi gerçekleştiği, yani TRUE olduğu sürece döner. İnternet Programcılığı 23 Şimdi dilerseniz while'ın kullanımı ile ilgili basit bir örnek yapalım: $i = 1; while ($i <= 10) print $i++; İnternet Programcılığı 24 Do..while "do..while" döngüleri "while" döngülerine çok benzer. Aradaki tek fark şart ifadesinin doğruluğunun kontrol edildiği yerdir. "while" da bu kontrol işlemi döngünün baş tarafında yapılmaktadır. Basit yapısı şu şekildedirpılırken, "do..while" da adımların sonunda : do deyim1; deyim2; while (ifade); İnternet Programcılığı 25 While döngüsünü anlatırken işlediğimiz örneğin aynısını do..while ile yaparsak: $i = 0; do print $i++; while ($i<=10); İnternet Programcılığı 26 For "for" döngüleri PHP'deki en kompleks döngülerdir. Sözdizimi şu şekildedir: for (başlangıç, bitiş, adım) Şart doğru olduğu sürece yapılacak işlemler başlangıç : döngüde kullanılacak değişkenin başlama değeri belirlenir. (örn : $i="0") bitiş : döngünün uygulanması için gereken koşulu belirtilir. (örn : $i < 10) adım : döngü değişkeninin artış değeri belirtilir. (örn : $i++ veya $i=$i+2) İnternet Programcılığı 27 3

"for" döngüsü de aynen "while" gibi "bitiş" ile belirtilen şart doğru (TRUE) olduğu sürece tanımlanan işlemleri gerçekleştirir. Fakat bu işi "başlangıç" kısmında $i değişkenine atadığımız değerden başlayarak "adım" kısmında belirlediğimiz değer kadar arttırarak, "bitiş" ifadesi doğru olduğu sürece gerçekleştirir. Birkaç farklı örnekle konuyu anlamaya çalışalım: for ($i = 1; $i <= 10; $i++) print $i; Sonsuz döngü oluşturma: for ($i = 1;;$i++) if ($i > 10) break; print $i; Foreach Foreach, diziler üzerinde iteratif (yineleme, tekrarlama) işlemler yapmak için bizlere kolay bir yol sunar. Foreach sadece dizilerde (array) kullanılır ve bunu farklı veri tipine sahip herhangi bir değişkende ya da uygun atanmamış değişkenlerde kullanmayı denediğinizde hata verir. İki sözdizim biçimi vardır. Asıl kullanım biçimi birincisi olmasına rağmen, ikinci kullanımı daha kullanışlıdır: foreach(dizi_degiskeni as $deger) deyim foreach(dizi_degiskeni as $anahtar => $deger) deyim Foreach ile dizi elemanı sayısını belirtmeden o sayı kadar otomatik dönen bir döngüyü kolaylıkla oluşturmuş oluruz. İnternet Programcılığı 28 İnternet Programcılığı 29 İnternet Programcılığı 30 Birkaç farklı örnekle konuyu anlamaya çalışalım: $dizi = array (1, 3, 5, 7); foreach ($dizi as $deger) print "\$dizi'nin şu anki elemanı: $deger<br>"; foreach(array(1,3, 5, 7) as $deger) print "$deger<br>"; $dizi = array ( "bir" => 1, uc" => 3, "bes" => 5, "yedi" => 7 ); foreach ($dizi as $anahtar => $deger) print "\$dizi[$anahtar] = > $deger<br>"; Break Break komutu, içerisinde bulunduğu for, foreach while, do..while ve switch gibi döngü yapılarının çalışmasını sona erdirir. Örneğin bir for döngüsü içerisinde yapılan bir "if" kontrolü ile birlikte kullanılacak "break" komutu, içerisinde bulunduğu döngüyü sona erdirir ve script alttaki komutları icra etmeye devam eder. Break komutu, opsiyonel olarak sayısal bir parametre alabilir. Bu parametre iç içe bulunan kaç döngüden çıkılacağını belirtmeye yarar. Örneğin içiçe iki döngü var ve en içte break 2 komutu işletilirse, iki döngüden birden çıkılır. İnternet Programcılığı 31 İnternet Programcılığı 32 İnternet Programcılığı 33 : $dizi = array ('bir', 'iki', 'üç', 'dur', 'dört', 'beş'); while (list (, $deger) = each ($dizi)) if ($deger == 'dur') break; /* buraya 'break 1;' de yazabilirdik */ echo "$deger<br>\n"; Continue Continue, döngü yapılarının içerisinde kalan komutları atlayarak döngünün bir sonraki adımına geçilmesini sağlar. Bu komut da break gibi sayısal bir parametre alarak hangi seviyedeki döngü içerisinde adım atlama işleminin yapılacağını düzenleyebilir ancak bu şekilde kullanıma rastlamak pek mümkün değildir. : for ($i=1;$i<10;$i++) if ($i >= 4 && $i <= 6) continue; echo $i; İnternet Programcılığı 34 İnternet Programcılığı 35 İnternet Programcılığı 36 4

Return Return ifadesi bir fonksiyonun içinde çağırılırsa o an fonksiyonun çalışması durdurulur ve return ifadesinin degeri fonksiyon değeri olarak geri döndürülür. Örneğin aşağıdaki script çalıştırıldığında ekrana "5" yazar: function topla() return 2+3; echo topla(); Switch Switch ifadesi aynı değişken üzerinde seriler halinde kullanılmış "if" ifadesine benzer. Birçok durumda bir değişkendeki farklı değerlere göre program akışını yönlendirmek istersiniz bu durumda defalarca "if" ifadesi kullanmaktansa "switch" ifadesi kullanmak en doğru tercih olacaktır. if ($a == 0) print "a değişkeninin değeri 0 dır"; elseif ($a == 1) print "a değişkeninin değeri 1 dir"; elseif ($a == 2) print "a değişkeninin değeri 2 dir"; İnternet Programcılığı 37 İnternet Programcılığı 38 İnternet Programcılığı 39 if" ve "elseif" lerle yapılan kontrolü switch ifadesiyle şekilde gerçekleştirebiliriz: switch ($a) case 0: print "a değişkeninin değeri 0 dır"; break; case 1: print "a değişkeninin değeri 1 dir"; break; case 2: print "a değişkeninin değeri 2 dir"; break; Switch ifadesinin adım adım çalışmasını iyi anlamak, bir takım mantıksal hatalar yapmamamız açısından çok önemlidir. Switch ifadesi satır satır çalışır. Başlangıçta herhangi bir kod çalışmaz. Yalnızca belirtilen değişkenin içeriğinin eşit olduğu case ifadesindeki değer bulunur ve bu ifadeden sonraki satırlar switch bloğunun sonuna kadar çalıştırılır. Burada çok ufak gibi görünen ama önemli bir nokta vardır. Break ifadesi kullanılmaz ise PHP bir sonraki case ifadelerini de çalıştırmaya devam eder. Switch ifadesinin kullanımında özel bir durum olan default ifadesi belirtilen case ifadelerinin değerlerinden hiç birinin eşitlik şartı aranan değişkenin değerine eşit olmaması durumunda aktif olur. Buradan da şu sonucu çıkartabiliriz ki default ifadesi switch bloğunun en sonunda bulunmalıdır. İnternet Programcılığı 40 İnternet Programcılığı 41 İnternet Programcılığı 42 Include() Hazırlayacağımız PHP belgelerinde karışıklığı engellemek, oluşturacağımız karmaşık yapıdaki dağınık kodları daha anlaşılır ve çözümlenmesi kolay hale getirebilmek için include ifadesini kullanırız. Bu ifade ile hazırladığımız bir PHP dosyasını başka bir çok dosyada tekrar aynı dosya içeriğini yazmadan kullanabilmemiz mümkündür. Hazırladığımız bir PHP dosyasını herhangi başka bir PHP dosyasından; Include("dosya.adı") şeklinde çağırmamız mümkündür. "dosya adı" kısmında çağırdığımız dosya PHP tarafından çağrılan dosyanın içerisine eklenecektir. "Include" ifadesi ile eklenen dosya sanki çağıran dosyanın içerisine çağrıldığı yerden itibaren satır satır eklenerek çalıştırılır. Örneğin içerisinde; $ders = "İnternet Programcılığı"; şeklinde değişken tanımı yapılan "1.php" adında bir dosyamız olsun. "1.php" dosyasını, aynı klasörde bulunan "2.php" isimli bir PHP dosyasından çağıralım; "2.php" isimli dosyamızdan "1.php" dosyasını çağırmak aşağıdaki şekilde mümkündür. include("1.php"); echo $ders; Biz "2.php" isimli dosyamızda "ders" adında bir değişken tanımlamadığımız halde "2.php" dosyası "$ders" adlı değişkenin değerini görüntüler. İnternet Programcılığı 43 İnternet Programcılığı 44 İnternet Programcılığı 45 5

Require() Kullanım şekli "include()" ifadesi ile aynıdır, fakat çalışma şekli olarak include() ifadesinden küçük ama önemli bir farkla ayrılır. include() ifadesi ile çağırılan dosya bulunamadığı taktirde bir uyarı (Warning) döner ve sayfa kaldığı yerden yüklenmeye devam eder, fakat require() ifadesi ile çağrılan dosya bulunamıyorsa PHP hata (Fatal_Error) verir ve ana scriptin yorumlanması işlemini durdurur. Require ile sayfaya eklenen kodlar olmazsa olmaz kodlarımız ise include yerine require'ı tercih etmeliyiz. require_once() ve include_once() Kullanım şekli olarak include() ve require() ile aynıdırlar, ancak çalışma şekli olarak özel bir durum söz konusudur. require_once() ve include_once() ile çağırılan dosyalar daha önce çağırılmışlarsa, daha önce çağrıldıkları için tekrar yüklenmeyeceklerdir. Bu komutlar, bir dosyanın yanlışlıkla birden fazla defa scripte eklenmesini engellemek için kullanılırlar. Kullanıcı Tanımlı, her programlama dilinde olduğu gibi PHP'nin de yapıtaşlarıdır. PHP'de fonksiyon yapısı C dilindekine çok benzerdir. Bir fonksiyon aşağıdaki biçimde tanımlanabilir: function ornek ($arg_1, $arg_2,..., $arg_n) /* fonksiyona gönderilen argümanlar*/ echo " fonksiyon.\n"; return $donusdegeri; İnternet Programcılığı 46 İnternet Programcılığı 47 İnternet Programcılığı 48 Geçerli herhangi bir PHP kodu, bir fonksiyonun içerisinde kullanılabilir. PHP, bir koşul ifadesi içerisinde (örneğin if koşulu) fonksiyon tanımına izin verir. Bu durumda şart sağlanırsa fonksiyon tanımlanmış olur. PHP aynı zamanda fonksiyon içerisinde fonksiyon tanımlamaya da olanak tanır. Bu durumda içteki fonksiyon ancak asıl fonksiyon çağırıldıktan sonra kullanılabilir. Fonksiyon Argümanları (Parametreleri) Bilgi, virgüllerle ayrılmış değişken veya sabitlerden oluşan argüman (parametre) listesi aracılığıyla fonksiyonlara aktarılabilir. Fonksiyona aktarılan değişkenler integer, float, string,.. tipinde ölçülebilir değerler olabildiği gibi nesne (object), dizi (array) gibi değişken tipleri de olabilir. Varsayılan (Default) Argüman Değerleri PHP fonksiyonları parametre (argüman) olarak "varsayılan" değerleri kabul ederler. Fonksiyona parametre olarak herhangi bir değer gitmediğinde varsayılan değer gelmiş gibi işlem görür: function icecek ($secim = "çay") return "Bir fincan $secim.<br>"; echo icecek (); echo icecek ("kahve"); İnternet Programcılığı 49 İnternet Programcılığı 50 İnternet Programcılığı 51 Yukarıdaki küçük kodun çıktısı şu şekilde gerçekleşir: Bir fincan çay. Bir fincan kahve. Varsayılan değer sabit bir ifade olmalıdır, bir değişken yada sınıf (class) üyesi olamaz. PHP'de varsayılan argümanlar mutlaka kendisini ifade eden argümana denk gelecek şekilde kullanılmalıdır: function buket ($renk = "kırmızı", $cicek) return "Bir buket $renk $cicek.\n"; echo buket ("gül"); // doğru çalışmaz! Dönüş (Return) Değerleri a argüman (parametre) olarak değer gönderilebildiği gibi, dönüşte de fonksiyondan değer alınabilir. da yapılan işlemlerin ardından, isteğe bağlı olarak "return" ifadesi ile geriye değer ya da değerler döndürülebilir. Bu değerler, ihtiyaca göre herhangi bir veri tipi olabilirler. "return" ifadesi, fonksiyonun çalışmasını derhal durdurarak çağırıldığı satıra geri dönülmesine yarar. "return" ifadesinin ardından yazılan değer ya da değişkenler, fonksiyonun geri dönüş değerleri olurlar. İnternet Programcılığı 52 İnternet Programcılığı 53 İnternet Programcılığı 54 6

: function test () return "Bu bir test."; echo test(); // ekrana "Bu bir test." yazar İnternet Programcılığı 55 Fonksiyona şu şekilde argüman gönderebilir ve geri dönüş değerini elde edebiliriz: function kareal($sayi) return $sayi * $sayi; echo kareal(7); // ekrana "49" yazar İnternet Programcılığı 56 dan virgül veya başka bir ayraç ile çeşitli değerler döndürülemez, fakat benzer sonuçlar dizi ile liste şeklinde geri döndürülebilir: function sehir() return array (54, "Sakarya", 264); list ($trf_kod, $ad, $tel_kod) = sehir(); echo "$ad'nın il trafik kodu $trf_kod'tür."; Bu kodun çıktısı şu şekilde olur: Sakarya'nın il trafik kodu 54'tür. İnternet Programcılığı 57 Değişken PHP, değişken fonksiyon kavramını destekler. Bunun anlamı, eğer bir değişken adına parantezler eklenmişse, değişkenin değerinin PHP tarafından fonksiyon adı olarak algılanması ve çalıştırılabilmesidir. İnternet Programcılığı 58 function basit() echo "Bu basit bir fonksiyondur<br>\n"; function gonder($arg = '') echo "Bu fonksiyona -$arg- değeri geldi<br>\n"; function yaz($cumle) echo $cumle; $fonk = 'basit'; $fonk(); // Bu komut basit() fonksiyonunu çağırır $fonk = 'gonder'; $fonk('1.750.000 TL'); // Bu komut gonder() fonksiyonunu çağırır $fonk = 'yaz'; $fonk('ve mutlu son...'); // Bu komut yaz() fonksiyonunu çağırır İnternet Programcılığı 59 7