25 Kasım 2017 Cumartesi

Codeigniter-Uri sınıfı ve Dört işlem örneği-6

Codeignater da url yapısından kısaca anlatmıştık.Allta görüldüğü gibi 2 sayı ve işlemi göndererek sonucu ekrana yazdıran bir örnek yapacağız.
http://localhost/ci_blog/welcome/hesapla/sayi1/sayi2/islem

Url mizden de anlaşıldığı gibi sayi1,sayi2,islem bizim parametrelerimiz.Urlden gelen parametreleri almak için 2 yöntem bulunmaktadır.Bunun birincisi fonksiyonumuzu aşağıdaki gibi değiştiriyoruz.
public function hesapla($sayi1,$sayi2,$islem)

 { 

        echo "sayi1=".$sayi1." islem= ".$islem." sayi2= ".$sayi2;
} 



url mize aşağıdaki gibi değiştirip çalıştırsak çıktımız ekranda gözükecektir.
http://localhost/ci_blog/welcome/hesapla/5/10/toplama


Şimdi gelen değerlere örneğin toplama ise toplama çıkarma ise çıkarma yaptırıp sonucu ekrana yazdıralım.Bunun için fonksiyonumuzu aşağıdaki gibi değiştiriyoruz.
public function hesapla($sayi1,$sayi2,$islem)

 { 

       if($islem=="toplama"){

                echo $sayi1." + ".$sayi2."=".($sayi1+$sayi2);

       }

       if($islem=="cikarma"){

                echo $sayi1." - ".$sayi2."=".($sayi1-$sayi2);
       }

       if($islem=="carpma"){

                echo $sayi1." x ".$sayi2."=".($sayi1*$sayi2);
       }

       if($islem=="bolme"){

                echo $sayi1." / ".$sayi2."=".($sayi1/$sayi2);

       }

 } 




Url mizi değiştirip çıktıları inceliyoruz.Gördüğünüz gibi urlmizi ve işlemi yazarak sonuçları ekranda yazdırmış olduk.






İkinci yöntem de uri sınıfımızın segment() metodunu kullanmaktır.İlk olarak uri sınıfının kullanımından biraz bahsedelim.Kullanımı aşağıdaki gibidir.segment() metoduna bir sayı yazarak çalışır.İlk olarak  yeni bir hesapla2() metot oluşturuyoruz ve metodumuzun içinde segmet e parametre olarak  0 yazıyoruz ekrana yazıdırıyoruz.
 public function hesapla2(){

          echo $this->uri->segment(0);

         }



çıktımız:


Gördüğünüz gibi ekrana hiçbirşey yazdırmadı.Acaba hata mı var?.Şimdi  segment(1) yazıp deniyoruz.
public function hesapla2(){

          echo $this->uri->segment(1);

         }



çıktımız:


Gördüğünüz gibi ekranda welcome yazdı.Yani demekki segment metodu 1. indis den başlıyomuş ve ilk indis bizim controler sınıfımızın ismini yazdı.Şimdi segment metotunun içine  2 ,3,4,5 yazarak çıktılara bakalım.
çıktılarımız:






Sizinde anladığınız gibi 2 yazdığımızda controler sınıfımızdaki metot ismini yazdı.Diğer 3,4,5 bizim parametrelerimiz.yani kısacası segmet metodunda parametrelerimiz 3 den başlıyor ve kaç tane varsa ona göre artıyor.Son olarak hesapla2() fonksiyonumuzu da üsteki gibi yazdığımız işleme göre hesaplaması ve ekran yazdırması için aşağıdaki gibi değiştiriyoruz.

public function hesapla2(){

         $sayi1=$this->uri->segment(3);

         $sayi2=$this->uri->segment(4);

         $islem=$this->uri->segment(5);

       
       if($islem=="toplama"){

                echo $sayi1." + ".$sayi2."=".($sayi1+$sayi2);
       }

       if($islem=="cikarma"){

                echo $sayi1." - ".$sayi2."=".($sayi1-$sayi2);

       }

       if($islem=="carpma"){

                echo $sayi1." x ".$sayi2."=".($sayi1*$sayi2);

       }

       if($islem=="bolme"){

                echo $sayi1." / ".$sayi2."=".($sayi1/$sayi2);

       }

         }


Welcome  controler sınıfımızın tüm kodları:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');



class Welcome extends CI_Controller {



//sınıfımızın yapıcı fonksiyonu

 public function __construct()

    {

     //ilk önce üst sınıfın yapıcı fonksiyonu çağrılır

        parent::__construct();

    } 



 public function index()

 {

  //url ye controlerımızn ismi yazıldığında ilk olarak index  metodu çağrılır.

  $this->load->view('welcome_message');

 }

         public function hesapla2(){

         $sayi1=$this->uri->segment(3);

         $sayi2=$this->uri->segment(4);

         $islem=$this->uri->segment(5);

       if($islem=="toplama"){

                echo $sayi1." + ".$sayi2."=".($sayi1+$sayi2);
            }
       if($islem=="cikarma"){

                echo $sayi1." - ".$sayi2."=".($sayi1-$sayi2);

       }

       if($islem=="carpma"){

                echo $sayi1." x ".$sayi2."=".($sayi1*$sayi2);

       }
       if($islem=="bolme"){

                echo $sayi1." / ".$sayi2."=".($sayi1/$sayi2);

       }

         }

 public function hesapla($sayi1,$sayi2,$islem)

 { 
       if($islem=="toplama"){

                echo $sayi1." + ".$sayi2."=".($sayi1+$sayi2);
       }

       if($islem=="cikarma"){

                echo $sayi1." - ".$sayi2."=".($sayi1-$sayi2);
       }

       if($islem=="carpma"){

                echo $sayi1." x ".$sayi2."=".($sayi1*$sayi2);
       }

       if($islem=="bolme"){

                echo $sayi1." / ".$sayi2."=".($sayi1/$sayi2);

       }

 } 
}
?>






Umarım faydalı olmuştur.Sonraki dersimizde görüşmek üzere.








Hiç yorum yok:

Yorum Gönder

NodeJS-Socket.io Real Time Chat Uygulaması

Bu chat uygulmasını Node js ve socket.io kullanarak gerçekleştirdim.Veri tabanı olarak MySql kullandım.Kişiler Real time olarak birbirleriyl...