Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Giriş

Kayıt Ol

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi adipiscing gravdio, sit amet suscipit risus ultrices eu. Fusce viverra neque at purus laoreet consequa. Vivamus vulputate posuere nisl quis consequat.

Php Dersleri – Fonksiyonlar

Merhaba arkadaşlar, mobilhanem.com sitemiz için hazırladığımız php derslerimizde bu ders Fonksiyonlar konusuna giriş yapacağız.  Fonksiyonlardan biraz bahsedecek olursak; fonksiyonlar bir işlemi yaptırmak için her defasında aynı kodları kopyala yapıştır yapmak veya kodun okunurluğunu artırmak amaçlı yapmış olduğumuz kod sadeleştirme işlemidir. Örneğin bir sayfada toplama işlemini 10 farklı yerde kulandığımızı varsayarsak her yerde sayi2 = sayi1+sayi3 demek yerine fonksiyonu çağırmak daha mantıklıdır.

Fonksiyonlar

Fonksiyonlar function anahtar kelimesi kullanılarak oluşturulur.  Örnek bir fonksiyon oluşturarak üzerinden konuşalım.

Burada function anahtar kelimesinden sonra fonksiyonun adı ve fonksiyona ait parametreler gelir. Parametre dediğimiz kısım $param1,$param2 şeklinde verdiğimiz değişkenlerdir. Bu değişkenleri istediğimiz kadar verebileceğimiz gibi fonksiyona  parametre vermek zorunda da değiliz.  Daha sonra süslü parantezler içerisine fonksiyonun yapacağı işlemleri yazarak fonksiyonu oluştururuz.

Fonksiyonları geriye bir değer döndüren ve değer döndürmeyen fonksiyonlar olmak üzere ikiye ayırabiliriz.  Geriye değer döndüren fonksiyonlarda değer döndürmek için return anahtar kelimesi kullanılır. örneğin: iki sayının toplamını geriye döndüren fonksiyon:

Burada bahsedeceğimiz en önemli yer fonksiyonun adında verdiğimiz $s1 ve $2 değişkenleri fonksiyona ait değişkenlerdir ve sadece fonksiyon içerisinde kullanılırlar. $sayi1 ve $sayi2 değişkenlerimiz ise bizim asıl değişkenlerimizdir ve fonksiyona parametre olarak bu değişkenleri verdiğimizde fonksiyon çalışırken bu değerler $s1=$sayi1 $s2=$sayi2 olarak arkaplanda değiştirilir.

Fonksiyon örnekleri

1- Ekrana 10 kere merhaba dünya yazan fonksiyonumuzu oluşturalım.

2- dortIslem adında bir fonksiyon oluşturalım. Fonksiyonun birinci parametresi sayı1 ikinci parametresi sayı2 ve üçüncü parametresi ise hangi işlem yapılacağı olsun.

  1. topla
  2. çıkar
  3. çarp
  4. böl
  5. diğer değerler için ise geçersiz işlem.

Varsayılan Parametreli Fonksiyonlar

Varsayılan parametreli fonksiyonlar bir parametrenin varsayılan olarak bizim belirlediğimiz bir değer olmasını istediğimiz zamanlarda kullanırız. Yukarıdaki örneğimiz üzerinden gidecek olursak mesela biz işlemi varsayılan olarak 1 yapalım ve kullanıcı 3. bir parametre girmezse işlem 1 kabul edilsin.

Fonksiyondaki değişikliklere bakarsanız 3. parametreye $i=1 olarak varsayılan bir değer atadım. Eğer 3. parametre girilmez ise varsayılan olarak değeri 1 olacak. Parametre girersek zaten normal bir fonksiyon gibi çalışmaya devam edecektir.

Recursive Fonksiyonlar

Recursive fonksiyon dediğimiz fonksiyonlar kendi kendini çağıran fonksiyonlardır. Bir fonksiyonun kendi kendini çağırabilmesi (recursive olabilmesi) için 2 temel şart vardır.

1- Kendi kendini çağırması

2- Bu çağırma işleminin bitmesi için bir koşul.

Kafanız karışmış olabilir ama örneğimizi yapınca aklınızda herhangi bir soru kalmayacaktır.

Örnek: 5! i hesaplayan bir recursive fonksiyon yazalım.

Şartlarımız sağlanıyor mu bir bakalım. 5! = 5.4! olduğu için kendi kendini çağırıyor fonksiyonumuz o zaman 1. şartımız sağlanıyor.

5! = 5*4*3*2*1; olduğu için en son 1 değerindeyken sonlandırma şartımız var 2. şartımızda sağlanıyor.

Örneğimiz recursive olarak yazılabilir diyoruz ve kodumuzu yazmaya başlıyoruz.

Fonksiyonumuzu anlatacak olursak:

1- 5 değerini aldı fonksiyon 5>1 şartı sağlanıyor ve geriye 5*faktoryel(4) değeri geldi ve faktoryel(4) işlemi başladı.

2- 4 değerini aldı fonksiyon 4>1 şartı sağlanıyor ve geriye 4*faktoryel(3) değeri geldi ve faktoryel(3) işlemi başladı.

3- 3 değerini aldı fonksiyon 3>1 şartı sağlanıyor ve geriye 3*faktoryel(2) değeri geldi ve faktoryel(2) işlemi başladı.

4- 2 değerini aldı fonksiyon 2>1 şartı sağlanıyor ve geriye 2*faktoryel(1) değeri geldi ve faktoryel(1) işlemi başladı.

5- 1 değerini aldı ve geriye 1 döndürdü ve değer 4. adıma gitti

6- fonksiyon 2*1 oldu bu değerde 3. adıma gitti

7- fonksiyon  3*2*1 oldu  bu değerde 2. adıma gitti

8- fonksiyon 4*3*2*1 oldu bu değerde 1. adıma giderek bize 5*4*3*2*1 değerini döndürerek sonucu getirmiş oldu.

Recursive fonksiyonun çalışma mantığını kavrarsanız çok işinize yarar arkadaşlar.

Örnek2: 1 den girilen değere kadar sayıların toplamını veren recursive fonksiyonumuzu yazalım.

Fonksiyonun mantığını  anlatmayacağım yukardaki şekilde siz çözmeye çalışırsanız recursive mantığını da oturtmuş olursunuz.

 

Evet arkadaşlar bir dersimizin daha sonuna geldik.  Bu dersimizin devamı olacak bir sonraki dersimiz olan PHP Dersleri – Fonksiyonlar – 2 dersimizde görüşmek üzere 🙂

 

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm php dersleri için tıklayınız..

 

Yazar Hakkında

Erzurum Atatürk Üniversitesi Bilgisayar Mühendisliği Bölümü Öğrencisi Web Geliştirici Sohbet Canlısı #erzurum