base_url() etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
base_url() etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Kasım 2017 Cumartesi

Codeigniter-base_url() Metodu Kullanımı-7


İlk olarak base_url() neden kullanılır  kısaca bahsedelim .Bu metot "base_url() " sayesinde her defasında sitemizin url sini yazmaktansa base_url()metodunu yazarak kullanabiliriz.Örnek verirsek

 echo base_url("assets/plugins/select2/select2.full.min.js") /* Javascript dosyasını dahil eder */

echo base_url("resimler/kisi.jpg") /* Resim dosyasını dahil eder */

 Şimdi aşağıdaki gibi metodumuzu oluşturalım ve base_url() diyerek metodumuzu çağırıp yazdıralım.

public function get_base_url(){

         echo base_url();
        }


Şimdi controler içindeki get_base_url() metodunu çağırarak ayarladığımız url yi ekranda yazdırmaya çalışalım.Resimde görüldüğü gibi base_url() metodumuzu yazdırmak istediğimizde böyle bir hata ile karşılaştık.





Hata mesajımızda böyle bir metot bulunmamaktadır yani metodumuz tanımsız yazmaktadır.Bunun sebebi base url yi kullanmak için helperı  yüklemememizdir. Metodumuzu aşağıdaki gibi düzenleyerek hatadan kurtulabiliriz.

public function get_base_url(){

      $this->load->helper("url");

         echo base_url();
        }
Çıktımız.



Üsteki hatanın çözümünün bir diğer yolu da ilk olarak sitemizin config klasöründeki config.php içindeki base_url kısmına site adresimizi yazıyoruz.Ben kendi sitemin adresini yazdım.


İkinci olarak da config dosyasındaki autoload.php içindeki helper ı yüklemektir.Bunun için autoload dosyasını açıyoruz ve aşağıdaki gibi değiştiriyoruz.



Şimdi fonksiyonumuzu aşağıdaki gibi değiştirip.Yazdırıyoruz.
 public function get_base_url(){
        echo base_url();
  }
Fonksiyonumuzda farkettiğiniz gibi helperı yüklemedik.Artık base_url() metodunu kullanabilmek base_url() metodunu çağırıp yazmak yeterli olacaktır.



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

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.








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...