KategorilerPhp

Erişim Belirleyiciler: Public & Private

Bu derste neler öğreneceğiz ?

  • Public(genel) erişim belirleyicisi nasıl kullanılır ?
  • Private(Özel) erişim belirleyicisi nasıl kullanılır ?
  • Private(Özel) özelliklere nasıl erişilir ?
  • Neden erişim belirleyicilerine ihtiyacımız vardır ?

Daha önceki yazılarımda, sınıflarımızdaki metot ve özelliklerin önünde herhangi bir açıklama yapmadan public erişim belirleyicisini kullandık. Genel erişim belirleyicisi, kullandığımız birkaç belirleyiciden yalnızca biridir. Bu eğitimde, özel erişim belirleyicisi adı verilen başka bir belirleyici hakkında bilgi edineceğiz.

Public erişim belirleyicisi, sınıfın dışından veya içinden bir kodun sınıfın yöntemlerine ve özelliklerine erişmesine izin verirken, private belirleyici, sınıfın dışındaki herhangi bir koddan bir sınıfın yöntemlerine veya özelliklerine erişimi engeller.

Public erişim belirleyicisi

Aşağıdaki örnek size zaten aşina olmalıdır. Örnekte, sınıfın özelliği ve yöntemi public olarak tanımlanmıştır , böylece sınıfın dışındaki kod bunlarla doğrudan etkileşime girebilir.

<?php
 
class Car {
 
  public $model;    
 
  public function getModel()
  {
    return "Araba modeli " . $this->model;
  }

}
 
$mercedes = new Car();

$mercedes->model = "Mercedes";

echo $mercedes->getModel();
SONUÇ

Araba modeli Mercedes'tir.

Private erişim belirleyicisi

Public erişim belirleyicisi yerine private erişim belirleyicisini ile tanımlarsak, sınıflarımızdaki özelliklere ve yöntemlere erişimi engelleyebiliriz.

Aşağıdaki örnekte $model özelliğini private olarak tanımlıyoruz ve onun değerini sınıf dışından ayarlamaya çalıştığımızda ölümcül bir hata ile karşılaşıyoruz.

<?php
 
class Car {
 
  //Private Özellik

  private $model;
    
  public function getModel()
  {
    return "Araba modeli " . $this->model;
  }

}
 
$mercedes = new Car();
 
$mercedes->model = "Mercedes Benz";

echo $mercedes->getModel();
 
?>
SONUÇ

Private özelliklere nasıl erişilir ?

Sınıf dışından özel özelliklere erişimimiz olmadığını gördük, ancak yine de özelliklerin değerlerini bir şekilde ayarlayıp almamız gerekiyor. Özel özelliklerle etkileşimde bulunmak için genel metotlar kullanırız çünkü bunlar hem sınıfın kapsamı dışındaki kodla hem de sınıf içindeki kodla etkileşime girebilir. Bu şekilde etkileşime girebilen genel metotlar genellikle iki tür yönteme ayrılır:

1.Private özelliklere değer vermek için kullandığımız yöntem.

2.Private özelliklerin değerlerini almak için kullandığımız yöntem.

Aşağıdaki örnekte

buy levitra uk online

, değer verme ve değer alma yöntemlerini kullanarak $model adlı private bir özelliğin değerini alıp ayarlayabileceğimizi göreceğiz. Araba modelinin değerini ayarlamak için setModel( ) metodunu ve özelliğin değerini almak için getModel() metodunu kullanacağız.

<?php
 
class Car {
 
  private $model;
 
  public function deger_ver($model)
  {
    $this->model = $model;
  }
  
  public function deger_al()
  {
    return "Araba modeli " . $this->model;
  }

}
 
$mercedes = new Car();

// Değer verme metodumuz
$mercedes->deger_ver("Mercedes benz");

// Değer alma metodumuz
echo $mercedes->deger_al();
 
?>
SONUÇ

Araba modeli Mercedes benz

Neden erişim belirleyicilere ihtiyacımız var?

Sınıfların dışından gelen kodların sınıfların metot ve özelliklerinde yapabileceği değişiklikleri sınırlamak için erişim belirleyicilere ihtiyacımız var. Bir özelliği veya metodu private olarak tanımladığımızda , yalnızca sınıf içindeki yöntemlerin ona erişmesine izin verilir. Bu nedenle, özel metotlar ve özelliklerle etkileşim kurmak için public metotlar ile işlem sağlamamız gerekir. Bu metotların içine sınıf dışından gelen verileri doğrulayabilen ve kısıtlayabilen işlemleri koyabiliriz.

Örneğimizde, public setModel() metodunda modeller için izin verilen alternatifleri tanımlayarak yalnızca belirli araba modellerinin yoluna girebileceğini ve private $model özelliğine atanabileceğini doğrulayabiliriz. Bu amaçla, setModel() yönteminde izin verilen araba modelleri dizisini tanımlarız ve $model özelliğine yalnızca bu modellerin atandığını kontrol ederiz .

<?php
 
class Car {
 
  private $model;
 
  public function deger_ver($model)
  {
    // Değer vermek için izin verilen modeller
    $izin_verilen_modeller = array("Mercedes Benz","BMW","Audi");
 
    // in_array() = girilen değerin, izin verilen değerler arasında olup olmadığını kontrol eder
    if(in_array($model,$izin_verilen_modeller))
    {
      $this->model = $model;
    }
    else
    {
      $this->model = "Yazdığınız model izin verilenler listemizde bulunmuyor!";
    }
  }
  
  public function deger_al()
  {
    return "Araba modeli" . $this->model;
  }
}
 
 
$mercedes = new Car();

$mercedes->deger_ver("Mercedes Benz");

echo $mercedes->deger_al();
 
?>
SONUÇ

Araba modeli Mercedes Benz.

Eğer deger_ver() metodumuzda girilen değer izin verilen degerler arasında bulunmasaydı :

SONUÇ

Yazdığınız model izin verilenler listemizde bulunmuyor!

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

mstfkrtll whatsapp-button
https://chat.whatsapp.com/Jul6h8jsXkpKqke2d7N17b
KategorilerPhp

Zincirleme Metotlar ve Özellikler

Selamun Aleyküm.

Bir önceki yazımda , sınıf kapsamındaki özelliklere ve metotlara erişmek için $this anahtar kelimesini kullanmayı öğrendik . Bu bölümde ise bir sınıfın metotları $this anahtar kelimesini döndürdüğünde, diğer metotlar ile birlikte zincirlenebileceklerini öğreneceğiz.

Bu yazıda neleri öğreneceğiz.

  • Metotlar ve özellikler nasıl zincirlenir?
  • Metotları ve özellikleri neden zincirlememiz gerekir?

Örneğin

Car sınıfımızda, arabamızın deposunda ne kadar yakıtımız olduğunu ölçmek istediğimizi varsayalım. Depodaki yakıt miktarı, arabamızda kat ettiğimiz kilometre sayısına ve depoya koyduğumuz yakıt miktarına bağlıdır.

Arabamızın deposunda ne kadar yakıt kaldığını öğrenmemiz için, sınıfımıza, arabanın deposundaki yakıt miktarını temsil eden bir özellik ekleyeceğiz. Bu özelliğin ismini de $depo koyacağız.

class Car {
  public $depo;
}

Ayrıca sınıfımıza iki metot daha eklemeliyiz.

  1. metodumuz doldur(). Bu metodumuz arabamızın deposuna yakıt eklememizi sağlayacak.

2. metodumuz ise git(). Bu metodumuz da belirli bir mesafe gittiğimizde ne kadar yakıt tükettiğimizi hesaplayacak ve ardından tükettiğimiz miktarı depodan eksiltecektir. 

Örneğimizde, arabamızın her 5 km’de 1 litre yakıt tükettiğini varsayalım.

class Car {
 
  public $depo;
 
  // Depomuzu yakıt ile dolduran metodumuz
  public function doldur($litre)
  {
    $this->depo += $litre;
  }
  
  // Arabımızı sürdüğümüzde tükettiğimiz yakıtı depomuzdan eksilten metodumuz
  public function git($km)
  {
    $tukettigimiz_yakit_miktari = $km/5;
    $this->depo -= $tukettigimiz_yakit_miktari;
  }
}

Sınıfımıza yeni eklediğimiz metotlarımızı istediğimiz şekilde düzenledik fakat zincirlemeyi yapabilmemiz için bu metotların bize bir sonuç vermesi gerekiyor. Sonuç vermesi için de bir ekleme daha yapmamız gerekiyor. Aşağıda ki kodlarda bu eklemeyi görebilirsiniz.

class Car {
 
  public $depo;
 
  // Depomuzu yakıt ile dolduran metodumuz
  public function doldur($litre)
  {
    $this->depo += $litre;
    
    return $this; // bu satır bize üst satırda yaptığımız işlemin sonucunu verecek
  }
  
  // Arabımızı sürdüğümüzde tükettiğimiz yakıtı depomuzdan eksilten metodumuz
  public function git($km)
  {
    $tukettigimiz_yakit_miktari = $km/5;
    $this->depo -= $tukettigimiz_yakit_miktari;

    return $this; // bu satır bize üst satırda yaptığımız işlemin sonucunu verecek
  }
}

Artık zincirlememizi yapabiliriz. Zincirlememizi yapmadan önce sorumuzu yazalım.

Soru: Arabamıza 10 litre yakıt koyup 65 kilometre(km) gittiğimizde arabamızın deposunda kaç litre yakıt kalır?

Sorumuz da hazır olduğuna göre hadi cevabı bulalım.

// Sınıfımızdan bir nesne oluşturuyoruz
$araba = new Car();
 
// Zincirleme metodumuzu yazıyoruz. 
$depo = $araba->doldur(15)->git(65)->depo;
 
// Sonuç
echo "Arabamızın deposunda kalan yakıt miktarı:" . $depo . " litre.";
SONUÇ

Arabamızın deposunda kalan yakıt miktarı: 2 litre.
class Car {
 
  public $depo;
 
  // Depomuzu yakıt ile dolduran metodumuz
  public function doldur($litre)
  {
    $this->depo += $litre;
    
    return $this; // bu satır bize üst satırda yaptığımız işlemin sonucunu verecek
  }
  
  // Arabımızı sürdüğümüzde tükettiğimiz yakıtı depomuzdan eksilten metodumuz
  public function git($km)
  {
    $tukettigimiz_yakit_miktari = $km/5;
    $this->depo -= $tukettigimiz_yakit_miktari;

    return $this; // bu satır bize üst satırda yaptığımız işlemin sonucunu verecek
  }
}

// Sınıfımızdan bir nesne oluşturuyoruz
$araba = new Car();
 
// Zincirleme metodumuzu yazıyoruz. 
$depo = $araba->doldur(15)->git(65)->depo;
 
// Sonuç
echo "Arabamızın deposunda kalan yakıt miktarı:" . $depo . " litre.";

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

mstfkrtll whatsapp-button
https://chat.whatsapp.com/Jul6h8jsXkpKqke2d7N17b
KategorilerPhp

$this anahtar kelimesinin kullanımı

Selamun Aleyküm

Bu yazımda 10 Adımda Nesneye Yönelik PHP Kodlamayı Öğreniyoruz serimizin 2.Adımı olan $this anahtar kelimesinin kullanımı adlı bölümünü anlatacağım.

$this anahtar kelimesi , sınıfın kendi yöntemlerini ve özelliklerini kullandığımızı belirtir ve bunlara sınıfın kapsamında erişmemizi sağlar.

$this anahtar kelimesi , aşağıdaki söz dizimini kullanarak sınıf özelliklerine ve metotlarına sınıfın içinden erişmemizi sağlar:

$this->propertyName;
$this->methodName();

// $this anahtar sözcüğü $ işaretiyle başlar, özelliklerin ve yöntemlerin adları $ işaretiyle başlamaz.

Car sınıfında az önce söylediklerimizi örneklendirelim . $this anahtar sözcüğünü kullanarak hello() metodunun sınıfın kendi özelliklerine erişmesini sağlayacağız .

class Car {

    // Özellikler
    public $name;
    public $color = 'white';
    public $hasSunRoof = true;
 
    // Oluşturduğumuz metodumuz
    // $this anahtar kelimesini bu metotta kullanacağız.
    public function hello()
    {
      return "Bip bip benim marka adım <i>" . $this->name . "</i>, ve benim rengim <i>" . $this->color;
    }
}

Şimdi Car sınıfından iki tane nesne oluşturalım ve bu sınıfın özelliklerine değerler atayalım.

// Nesnelerimizi oluşturuyoruz
$bmw = new Car();
$mercedes = new Car();

// $bmw nesnesinin özelliklerine değer atıyoruz
$bmw->name = "BMW";
$bmw->color = "mavi";
 
// $mercedes nesnesinin özelliklerine değer atıyoruz
$mercedes->name = "Mercedes Benz";
$mercedes->color = "yeşil";

Nesnelerimizin özelliklerine değer atadıktan sonra hello() metodumuzu çağıralım ve sonucu görelim.

// $bmw nesnesinden hello() metodunu çağırıyoruz.
echo $bmw->hello();
SONUÇ

Bip bip benim marka adım BMW ve benim rengim mavi .
// $mercedes nesnesinden hello() metodunu çağırıyoruz.
echo $mercedes->hello();
SONUÇ

Bip bip benim marka adım Mercedes Benz ve benim rengim yeşil .

İşte bu yazı sırasında yazdığımız kodun tamamı:

class Car {

    // özellikler
    public $name;
    public $color = 'white';
    public $hasSunRoof = true;
 
    // Metot oluşturuyoruz.
    public function hello()
    {
      return "Bip bip benim marka adım <i>" . $this->name . "</i> 

cialis uk

, ve benim rengim <i>" . $this->color; } } // Sınıfımızdan nesneler oluşturuyoruz $bmw = new Car(); $mercedes = new Car(); // Nesnelerimizin özelliklerine değerler atıyoruz. $bmw->color = 'mavi'; $bmw->name = "BMW"; $mercedes->color = 'yeşil'; $mercedes->name = "Mercedes Benz"; // nesnelerden hello() metodumuzu çağırıyoruz echo $bmw->hello(); // Bip bip benim marka adım BMW ve benim rengim mavi . echo $mercedes->hello(); // Bip bip benim marka adım Mercedes Benz ve benim rengim yeşil .

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

mstfkrtll whatsapp-button
https://chat.whatsapp.com/Jul6h8jsXkpKqke2d7N17b
KategorilerPhp

10 Adımda Nesneye Yönelik PHP Kodlamayı Öğreniyoruz

Selamun Aleyküm.

Bu yazımda “Neden Nesneye Yönelik PHP Kodlamalıyız” başlığından bahsedeceğim ve 10 Adımda Nesneye Yönelik PHP Kodlamayı Öğreniyoruz‘un ilk bölümünü anlatacağım.

Neden Nesne Yönelimli PHP Kodlamayı öğrenmelisiniz?

Web sitelerinin %80’inden fazlası artık PHP ile yazılıyor, bu da web geliştiricilerinin bu programlama dilinde uzmanlaşmasını her zamankinden daha önemli hale getiriyor. PHP temellerini öğrenmek kolay olsa da, profesyonelleri hobicilerden ayıran Nesne Yönelimli PHP bilgisidir.

Nesne yönelimli programlamayı kullanırken, kodu verimli bir şekilde düzenleriz, böylece çalışmak, geliştirmek ve yükseltmek daha kolaydır. Pek çok faydası nedeniyle, Nesne yönelimli PHP zanaatında ustalaşan geliştiriciler, gelişmiş çevrimiçi uygulamalara ihtiyaç duyan şirketler ve işletmeler arasında iş piyasasında sıcak bir metadır.

Bu seriyi Nesne yönelimli PHP’de uzmanlaşma konusunda ciddi olan geliştiriciler için özel olarak yazıyorum. Bu seriyi bitirdiğinizde Nesne Yönelimli PHP de bilgi sahibi değil uzmanlaşmış olacaksınız.

Peki, o zaman ne bekliyoruz? Hadi zaman kaybetmeyelim!

İlk Adım

Classes(Sınıflar), objects(Objeler), methods(Methodlar) ve properties(Özellikler)

Nesne yönelimli programlama, belirli bir konunun tüm değişkenlerini ve işlevlerini tek bir sınıfta gruplandırmanın geleneksel olduğu bir programlama stilidir. Nesne yönelimli programlamanın prosedürel programlama tarzından daha gelişmiş ve verimli olduğu düşünülmektedir. Bu verimlilik, daha iyi kod organizasyonunu desteklemesinden, modülerlik sağlamasından ve kendimizi tekrar etme ihtiyacını azaltmasından kaynaklanmaktadır. Bununla birlikte, küçük ve basit projelerde prosedürel stili tercih edebilirsiniz. Ancak projeleriniz karmaşıklaştıkça, nesne yönelimli kodlama stilini kullanmak daha mantıklı olacaktır.

Bu seri ile en temel terimleri öğrenerek nesne yönelimli programlama dünyasına ilk adımlarınızı atmış olacaksınız.

  • Clasesses(Sınıflar)
  • Objects(Objeler)
  • Methods(Methodlar)
  • Properties(Özellikler)

Sınıf(Class) Nasıl Oluşturulur?

Bir sınıf(class) oluşturmak için belirli bir konuyu işleyen kodu tek bir yerde gruplandırıyoruz. Örneğin, bir bloğun kullanıcılarını yöneten tüm kodu tek bir sınıfa, blogdaki yazıların yayınlanmasıyla ilgili tüm kodu ikinci bir sınıfa ve buna ayrılmış tüm kodu ikinci bir sınıfa gruplayabiliriz. Üçüncü sınıfta ise yorumları gruplayabiliriz.

Sınıfı adlandırmak için büyük harfle başlayan tekil bir isim kullanmak gelenekseldir. Örneğin, kullanıcıları işleyen bir kodu bir User sınıfında, gönderileri işleyen kodu bir Post sınıfında ve yorumlara ayrılmış kodu bir Comment sınıfında gruplayabiliriz.

Aşağıda verilen örnek için , arabalarla ilgisi olan tüm kodları gruplayacağımız bir Car sınıfı oluşturacağız.

class Car {
  // Kodlarımızı yazacağız
}

// Class anahtar kelimesi ile sınıfı oluşturacağımızı belirtiyoruz.

// Sınıfın adını yazıp ilk harfi büyük yapıyoruz.

// Sınıf ismi birden fazla kelime içeriyorsa, her kelimenin ilk harfini büyük harfle yazarız. Bu, Pascal Case olarakta bilinir . Örneğin, ArabaMarkalari , BmwModelleri vb.

// Sınıf ismini de belirledikten sonra süslü parantezlerimizi açıp içerisine kodlarımızı yazabiliriz.

Bir sınıfa özellik nasıl eklenir?

Bir sınıf içinde bir değişken oluşturuyoruz ve bu değişkenin başına public anahtar kelimesini yazıyoruz. Bu şekilde sınıfa ait bir özellik oluşturmuş oluyoruz. Özellikler, diğer değişkenler gibi, dizeler, tam sayılar ve boolean (doğru/yanlış değerler) gibi değerleri kabul edebilir. Car sınıfına bazı özellikler ekleyelim .

class Car {
  public $name;
  public $color = 'white';
  public $hasSunRoof = true;
}

// Public anahtar kelimesini bir özelliğin önüne koyarız.

// Adlandırma kuralı, özellik adını küçük harfle başlatmaktır.

// İsim birden fazla kelime içeriyorsa, ilk kelime hariç tüm kelimeler büyük harfle başlar. Örneğin, $color veya $hasSunRoof . Bu Camel Case stili olarakta bilinir.

// Bir özelliğin varsayılan bir değeri olabilir. Örneğin, $color = 'black'.

// Varsayılan değeri olmayan bir özellik de oluşturabiliriz. Yukarıdaki örnekte $name özelliğinde olduğu gibi.

Birden fazla isimlendirme stili vardır. Bunlardan biri Pascal Case’dir. Diğer isimlendirme stillerini de öğrenmek istiyorsan Yazılımda İsimlendirme Çeşitleri adlı yazıma göz atabilirsiniz.

Bir sınıf(class)’tan Nesneler(Objects) nasıl oluşturulur?

Aynı sınıftan, her nesnenin kendi özelliklerine sahip olduğu birkaç nesne oluşturabiliriz.

Bir sınıfla çalışmak için ondan bir nesne oluşturmamız gerekir. Bir nesne oluşturmak için new anahtar sözcüğünü kullanırız. Örneğin:

$bmw = new Car();

// new anahtar kelimesi ile Car sınıfından $bmw nesnesini oluşturduk.

Aynı sınıftan birden fazla nesne oluşturabiliriz.

$bmw = new Car();
$mercedes = new Car();

Aslında, aynı sınıftan istediğimiz kadar nesne oluşturabilir ve ardından her nesneye kendi özellik değerlerini verebiliriz.

Nesneler(Objects), ne işe yarar?

Prosedürel programlama tarzında, tüm işlevler ve değişkenler , yalnızca adlarını çağırarak kullanımlarına izin verecek şekilde global kapsamda birlikte otururken , sınıfların kullanımı, sınıfların içindeki her şeyi global kapsamdan gizler. Bunun nedeni, sınıfların içindeki kodun , global kapsamın erişiminin dışında, sınıf kapsamı içinde kapsüllenmiş olmasıdır. Bu nedenle, global kapsamdaki kodun sınıf içindeki kodu kullanmasına izin vermenin bir yoluna ihtiyacımız var ve bunu bir sınıftan nesneler oluşturarak yapıyoruz.

Nesne değil nesneler diyorum, çünkü aynı sınıftan istediğimiz kadar nesne oluşturabiliyoruz ve hepsi sınıfın methodlarını ve özelliklerini kullanacaklar. Aşağıdaki resmi inceleyin ne demek istediğimi anlayacaksınız:

Bir araba örneği aracılığıyla nesne yönelimli PHP'de nesneler ve sınıflar 

Aynı Car sınıfından Mercedes , Bmw ve Audi adında üç ayrı nesne oluşturduk .

Tüm nesneler aynı sınıftan oluşturulmuş olmalarına ve dolayısıyla sınıfın yöntemlerine ve özelliklerine sahip olmalarına rağmen, yine de farklıdırlar. Bu sadece farklı adlara sahip oldukları için değil, aynı zamanda özelliklerine atanmış farklı değerlere sahip oldukları için de geçerlidir. Örneğin, yukarıdaki resimde renk özelliklerine göre farklılık gösterirler – Mercedes yeşil, Bmw mavi ve Audi turuncu.

BURADAN ALINACAK MESAJ ŞUDUR:

Bir sınıf, kendisinden oluşturulan tüm nesneler tarafından kullanılan methodları ve özellikleri tutar.

Nesneler aynı kodu kullanmalarına rağmen, kendilerine atanan farklı değerlere sahip olabileceğinden farklı davranabilirler.

Bir nesnenin özellikleri nasıl alınır?

Bir nesne oluşturduğumuzda, özelliklerini alabiliriz. Örneğin:

$bmw = new Car();
echo $bmw->color;

$mercedes = new Car();
echo $mercedes->color;


// Bir nesnenin özelliğini elde etmek için, nesne adını, ardından tire (->) ve ardından özellik adını yazarız. Dikkat edin -> işaretinden sonra sadece özellik adını yazıyoruz. Başına $(dolar) işaretini yazmadığınıza emin olun.
SONUÇ

white
white

Nesnenin özellikleri nasıl ayarlanır?

Bir nesnenin özelliğini ayarlamak için yukarıda yaptığımız özellik çağırma işlemine benzer bir yaklaşım kullanıyoruz.

Örneğin, bmw nesnesinde rengi ‘mavi’ olarak ayarlamak için:

$bmw->color = 'blue';

ve her iki nesne için $name özelliğinin değerini ayarlamak için :

$bmw->name = "BMW";
$mercedes->name = "Mercedes Benz";

Bir özelliğin değerini belirlediğimizde değerini alabiliriz.

$bmw nesnesinin rengini elde etmek için aşağıdaki kod satırını kullanırız:

echo $bmw->color;
SONUÇ

blue

Ayrıca bir nesnenin farklı özelliklerini de alabiliriz. Örneğin;

echo $mercedes->color;
echo $mercedes->name;
SONUÇ

white

Mercedes Benz

Bir sınıfa yöntemler nasıl eklenir?

Sınıflar çoğunlukla fonksiyonlar(işlevler) içerir. Bir sınıf içindeki bir fonksiyona yöntem(method) denir . Burada, public önekine sahip sınıfa hello() method(yöntemi)unu ekliyoruz.

class Car {
 
  public $name;
  public $color = 'white';
  public $hasSunRoof = true;
 
  public function hello() 
  {
    return "bip bip";
  }

}


// Public anahtar kelimesini bir metodun önüne koyarız.

// Adlandırma kuralı, fonksiyon adını küçük harfle başlatmaktır.

// İsim birden fazla kelime içeriyorsa, ilk kelime hariç tüm kelimeler büyük harfle başlar. Buna camelCase stili denir. Örneğin, helloUser() veya helloWhatsApp().

Metotları, özellikleri çağırdığımız gibi çağırırız fakat sonuna parantezlerimizi koymayı unutmayalım. Metotlarımızı da çağırmamız için bir nesne oluşturmamız gerektiğini de unutmayalım.

$bmw = new Car();
$mercedes = new Car();
    
echo $bmw->hello();
echo $mercedes->hello();
SONUÇ

bip bip
bip bip

İşte bu yazı sırasında yazdığımız kodun tamamı:

<?php
// sınıf(class) oluşturuyoruz
class Car {
 
  // özellikleri oluşturuyoruz
  public $name; 
  public $color = 'white';
  public $hasSunRoof = true;
 
   // hello adında metodumuzu oluştuyoruz
  public function hello()
  {
    return "bip bip";
  }
}
 
// Nesnelerimizi(Object) oluşturuyoruz
$bmw = new Car();
$mercedes = new Car();
 
// Nesnelerimizin içinde bulunan özelliklerin değerlerini alıyoruz. Fakat burada color özelliğinin white olarak gelmesi sınıfın içinde varsayılan olarak belirlendiği içindir.
echo $bmw->color; // white
echo "<br/>";
echo $mercedes->color; // white
echo "<hr/>";
 
// Nesnelerimizin içinde bulunan özelliklere yeni değerler atıyoruz
$bmw->color = 'blue';
$bmw->name = "BMW";
$mercedes->name = "Mercedes Benz";
 
// Tekrar nesnelerimizin içinde bulunan özelliklerin değerlerini alıyoruz. Bu sefer yukarda özelliklerimize yeni değer atadığımız için değerlerimiz farklı olarak geldi.
echo $bmw->color; // blue
echo "<br/>";
echo $mercedes->color; // white
echo "<br/>";
echo $bmw->name; // BMW
echo "<br/>";
echo $mercedes->name; // Mercedes Benz
echo "<hr/>";
 
// Metodların kullanımı ve bize döndürdüğü cevap
echo $bmw->hello(); // bip bip
echo "<br/>";
echo $mercedes->hello(); // bip bip

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

KategorilerPhp

Yazılımda İsimlendirme Çeşitleri

Selamun Aleyküm

Yazılımlarımı geliştirirken en çok yaşadığım sorunlardan biri de isimlendirme yapmaktır. Bunun için geliştirilmiş olan yazım stilleri bulunmaktadır.

Bu yazımda ise bunlardan bahsedeceğim. Keyifli okumalar…

Camel Case

Camel case, isimlendirme türünde ilk harf küçük harf ile başlar ve sonraki her yeni sözcüğün ilk harfi büyük olmalıdır.

Örnek: buttonPrimaryHover


Snake Case

Snake case, isimlendirme türünde her yeni sözcüğün arası ‘_’ (alt çizgi) ile ayrılır, ve her kelime küçük harf ile başlar.

Örnekbutton_primary_hover


Kebap Case

Kebap case, isimlendirme türünde ise her yeni sözcüğün arası ‘-‘ (tire) ile ayrılır, ve her kelime küçük harf ile başlar.

Örnekbutton-primary-hover


Pascal Case

Pascal Case, isimlendirme türü ise camel case ile aynı sayılabilir, aralarındaki tek fark camel case ‘de ilk kelimenin ilk harfi küçük iken, Pascal case ‘de Her kelimenin ilk harfi büyük yazılır.

Örnek: ButtonPrimaryHover


Upper Case

Upper case, isimlendirme türünde bütün kelimeler büyük harfle yazılır ve kelimelerin arası ‘_’ (alt çizgi) ile ayrılır.

Örnek: BUTTON_PRIMARY_HOVER

buy kamagra

KategorilerPhp

PDO ile Veri Silme İşlemi

Selamun Aleyküm.

Bu yazımda PHP PDO ile veri silme işlemini anlatacağım.

İlk olarak veritabanımı oluşturacağım.

PhpMyAdmin’e girerek “blog” adında bir veritabanı oluşturuyorum. Bu veritabanının içine de “articles” adında bir tablo oluşturuyorum ve bu tabloya aşağıdaki resimde gösterilen satırları ekliyorum.

Pdo ile veritabanına veri ekleme
articles tablosuna eklediğim satırlar

Bu satırları ekledikten sonra aşağıda gösterilen sekmelerden “Ekle” yazana tıklıyorum ve tabloma yeni veriler ekliyorum. Dilerseniz tabloya veri eklemek için “PDO ile Veri Ekleme İşlemi” adlı yazımı da okuyabilirsiniz.

Php pdo veri güncelleme
Ekle sekmesinden yeni veriler ekliyoruz

Tabloya verilerimi ekledikten sonra Veritabanı bağlantısını yapmak için Xampp/htdocs klasörü içine blog adında bir klasör oluşturuyorum ve onun içine de “db.php” adında bir dosya oluşturuyorum. Db.php dosyasının içine aşağıdaki kodlarımı yazıyorum. Bu şekilde veritabanına bağlantımı gerçekleştirmiş oluyorum.

<?php

# 	www.mstfkrtll.com

#	15 Ocak 2022 | Cumartesi

#	Pdo ile Veritabanı Bağlantısı İşlemi

try {

     $db = new PDO("mysql:host=localhost;dbname=blog","root","");

     echo "Veritabanı bağlantısı başarıyla kuruldu.";
     
} catch ( PDOException $e ){

     echo "Veritabanı bağlantısı kurulurken bir hata oluştu. =>: ".$e->getMessage();

}

Veritabanı bağlantısını da yaptığıma göre pdo ile veri silme(delete) işlemine geçebilirim. Xampp/htdocs/blog klasörümün içine index.php adında bir dosya oluşturuyorum ve onun da içine aşağıdaki kodlarımı yazıyorum.

# 	www.mstfkrtll.com

#	15 Ocak 2022 | Cumartesi

#	Pdo ile Veri Silme İşlemi



# veritabanı bağlantısı yaptığımız dosyayı index.php dahil ediyoruz.
require_once('db.php');


# PDO ile Veri silme(delete) işlemi için kodumu hazırlıyorum
$query = $db->prepare("DELETE FROM articles WHERE article_id=?");

# Yukardaki silinmesini istediğimiz verinin article_id'sini yazıyoruz
$result = $query->execute(array(11));


if($result)
{
	#sonuc başarılı ise burası çalışsın.
	echo "Silme işlemi başarıyla gerçekleştirildi.";
}
else
{
	#sonuc başarısız ise burası çalışsın.
	echo "Silme işlemi yapılırken bir hata oluştu.";
}

Daha detaylı incelemek için https://www.php.net/manual/tr/pdo.prepare.php bu sayfayı ziyaret edebilirsiniz.

Yukarıdaki kodumda prepare kısmının açıklaması şu şekildedir; DELETE FROM articles bu kısımda hangi tablodan veri silme işlemi yapacağımı belirtiyorum. WHERE article_id=? bu kısımda ise article_id‘si kaç olan veriyi sileceğimi belirtiyorum.

execute kısmının açıklaması ise şöyledir; yukarıda silinmesini istediğim verinin article_id‘sini array içinde belirtmemdir.

Yukarıdaki kodumu index.php dosyamın içine yazdıktan sonra tarayıcımı açıp http://localhost/blog adresine giriş yapıyorum. Giriş yaptıktan sonra ekranıma “Silme işlemi başarıyla gerçekleştirildi.” cümlesi yazdırılacaktır.

Yani PDO ile veritabanında yaptığımız silme işlemi başarılı bir şekilde çalışıyor.

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

KategorilerPhp

PDO ile Veri Güncelleme İşlemi

Selamun Aleyküm.

Bu yazımda PHP PDO ile veri güncelleme işlemini anlatacağım.

İlk olarak veritabanımı oluşturacağım.

PhpMyAdmin’e girerek “blog” adında bir veritabanı oluşturuyorum. Bu veritabanının içine de “articles” adında bir tablo oluşturuyorum ve bu tabloya aşağıdaki resimde gösterilen satırları ekliyorum.

Pdo ile veritabanına veri ekleme
articles tablosuna eklediğim satırlar

Bu satırları ekledikten sonra aşağıda gösterilen sekmelerden “Ekle” yazana tıklıyorum ve tabloma yeni veriler ekliyorum. Dilerseniz tabloya veri eklemek için “PDO ile Veri Ekleme İşlemi” adlı yazımı da okuyabilirsiniz.

Php pdo veri güncelleme
Ekle sekmesinden yeni veriler ekliyoruz

Tabloya verilerimi ekledikten sonra Veritabanı bağlantısını yapmak için Xampp/htdocs klasörü içine blog adında bir klasör oluşturuyorum ve onun içine de “db.php” adında bir dosya oluşturuyorum. Db.php dosyasının içine aşağıdaki kodlarımı yazıyorum. Bu şekilde veritabanına bağlantımı gerçekleştirmiş oluyorum.

<?php

# 	www.mstfkrtll.com

#	12 Ocak 2022 | Çarşamba

#	Pdo ile Veritabanı Bağlantısı İşlemi

try {

     $db = new PDO("mysql:host=localhost;dbname=blog","root","");

     echo "Veritabanı bağlantısı başarıyla kuruldu.";
     
} catch ( PDOException $e ){

     echo "Veritabanı bağlantısı kurulurken bir hata oluştu. =>: ".$e->getMessage();

}

Veritabanı bağlantısını da yaptığıma göre pdo ile veri güncelleme(update) işlemine geçebilirim. Xampp/htdocs/blog klasörümün içine index.php adında bir dosya oluşturuyorum ve onun da içine aşağıdaki kodlarımı yazıyorum.

# 	www.mstfkrtll.com

#	12 Ocak 2022 | Çarşamba

#	Pdo ile Veri Güncelleme İşlemi



# veritabanı bağlantısı yaptığımız dosyayı index.php dahil ediyoruz.
require_once('db.php');


# PDO ile Veri güncellemek(update) için kodumu hazırlıyorum
$query = $db->prepare("UPDATE articles SET article_title=? 

buy cheap kamagra oral jelly

, article_slug=?, article_description=? WHERE article_id=?"); # Yukardaki güncellenmesini istediğimiz satıların karşısına sırasıyla güncellemek istediğimiz verileri yazıyoruz $result = $query->execute(array('Yeni Makale Başlığı','yeni-makale-basligi','PDO ile veri güncelleme işlemini yapıyoruz.',10)); if($result) { #sonuc başarılı ise burası çalışsın. echo "Güncelleme işlemi başarıyla gerçekleştirildi."; } else { #sonuc başarısız ise burası çalışsın. echo "Güncelleme işlemi yapılırken bir hata oluştu."; }

Daha detaylı incelemek için https://www.php.net/manual/tr/pdo.prepare.php bu sayfayı ziyaret edebilirsiniz.

Yukarıdaki kodumda prepare kısmının açıklaması şu şekildedir; UPDATE articles SET bu kısımda hangi tabloda güncelleme işlemi yapacağımı belirtiyorum. article_title=?, article_slug=?, article_description=? bu kısımda hangi sütunları güncelleyeceğimi belirtiyorum. WHERE article_id=? bu kısımda ise article_id‘si kaç olan veriyi güncelleyeceğimi belirtiyorum.

execute kısmının açıklaması ise şöyledir; yukarıda güncellenmesini istediğim sütunları ve hangi veriyi güncelleceğimi belirttiğim kısımların karşısına, sırasıyla yeni olan verileri ve hangi veriyi güncelleceğimi yazmamdır.

Yukarıdaki kodumu index.php dosyamın içine yazdıktan sonra tarayıcımı açıp http://localhost/blog adresine giriş yapıyorum. Giriş yaptıktan sonra ekranıma “Güncelleme işlemi başarıyla gerçekleştirildi.” cümlesi yazdırılacaktır.

Yani PDO ile veritabanında yaptığımız güncelleme işlemi başarılı bir şekilde çalışıyor.

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

KategorilerPhp

PDO ile Veri Ekleme İşlemi

Selamun Aleyküm.

Bu yazımda PHP PDO ile veri ekleme işlemini anlatacağım.

İlk olarak veritabanımı oluşturacağım.

PhpMyAdmin’e girerek “blog” adında bir veritabanı oluşturuyorum. Bu veritabanının içine de “articles” adında bir tablo oluşturuyorum ve bu tabloya aşağıdaki resimde gösterilen satırları ekliyorum.

Pdo ile veritabanına veri ekleme
articles tablosuna eklediğim satırlar

Bu satırları ekledikten sonra Veritabanı bağlantısını yapmak için Xampp/htdocs klasörü içine blog adında bir klasör oluşturuyorum ve onun içine de “db.php” adında bir dosya oluşturuyorum. Db.php dosyasının içine aşağıdaki kodlarımı yazıyorum. Bu şekilde veritabanına bağlantımı gerçekleştirmiş oluyorum.

<?php

# 	www.mstfkrtll.com

#	13 Ocak 2022 | Perşembe

#	Pdo ile Veritabanı Bağlantısı İşlemi

try {

     $db = new PDO("mysql:host=localhost;dbname=blog","root","");

     echo "Veritabanı bağlantısı başarıyla kuruldu.";
     
} catch ( PDOException $e ){

     echo "Veritabanı bağlantısı kurulurken bir hata oluştu. =>: ".$e->getMessage();

}

Veritabanı bağlantısını da yaptığıma göre pdo ile veri ekleme(insert) işlemine geçebilirim. Xampp/htdocs/blog klasörümün içine index.php adında bir dosya oluşturuyorum ve onun da içine aşağıdaki kodlarımı yazıyorum.

# 	www.mstfkrtll.com

#	13 Ocak 2022 | Perşembe

#	Pdo ile Veritabanına Veri Ekleme İşlemi



# veritabanı bağlantısı yaptığımız dosyayı index.php dahil ediyoruz.
require_once('db.php');


# PDO ile Veri eklemek(insert) için kodumu hazırlıyorum
$query = $db->prepare("INSERT INTO articles SET article_title=?, article_slug=?, article_description=?");

# Verilerimi articles tabloma eklemesi için execute içinde array olarak yazıyorum
$result = $query->execute(array('Makale Başlığı','makale-basligi','PDO ile veri ekleme işlemini yapıyoruz.'));


if($result)
{
	#sonuc başarılı ise burası çalışsın.
	echo "Ekleme işlemi başarıyla gerçekleştirildi.";
}
else
{
	#sonuc başarısız ise burası çalışsın.
	echo "Ekleme işlemi yapılırken bir hata oluştu.";
}

Daha detaylı incelemek için https://www.php.net/manual/tr/pdo.prepare.php bu sayfayı ziyaret edebilirsiniz.

Yukarıdaki kodumu index.php dosyamın içine yazdıktan sonra tarayıcımı açıp http://localhost/blog adresine giriş yapıyorum. Giriş yaptıktan sonra ekranıma “Ekleme işlemi başarıyla gerçekleştirildi.” cümlesi yazdırılacaktır.

Yani PDO ile veritabanına yaptımız ekleme işlemi başarılı bir şekilde çalışıyor.

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.

KategorilerPhp

PDO İle Veritabanı Bağlantısı

Selamun Aleyküm

PDO ile veritabanı bağlantısı yapabilmemiz için bir bağlantı kodu oluşturmamız gerekiyor.  Bu bağlantı kodunda temel olarak aşağıdaki parametreleri kullanacağız.

  • Veritabanı Host (varsayılan olarak localhost’tur)
  • Veritabanı Kullanıcı Adı (varsayılan olarak root’tur)
  • Veritabanı Kullanıcı Şifresi (varsayılan olarak boş geliyor. Fakat siz mysql kullanıcısı için bir şifre belirlediyseniz o şifreyi girmeniz gerekiyor. Xampp’ta şifre varsayılan olarak boştur. WampServer’da varsayılan olarak 12345678 şeklindedir.)
  • Veritabanı Adı

Şimdi veritabanına bağlanalım.

<?php

try {

     $db = new PDO("mysql:host=localhost;dbname=example" 

buy-levitra-usa.com

,"root",""); echo "Veritabanı bağlantısı başarıyla kuruldu."; } catch ( PDOException $e ){ echo "Veritabanı bağlantısı kurulurken bir hata oluştu. =>: ".$e->getMessage(); }

Php PDO Mysql Bağlantı kodumuzu öncelikle try-catch yapısı içinde çalıştıracağız.

Bu yapıda çalıştırdığımızda ilk olarak try bloğu çalışacak ve eğer bir hata yoksa “Veritabanı bağlantısı başarıyla kurdunuz.” cümlesini ekranımızda göreceğiz, eğer bir hata varsa catch kısmında “Veritabanı bağlantısı kurulurken bir hata oluştu.” şeklinde yazdığımız hata cümlesini ekranımızda göreceğiz. Bu hatayı catch kısmı yakalar ve bize gösterir.

Try-Catch kısmını kullanmak zorunda değiliz ama hata olduğunu görmemiz için kullanmamız gerekir.

Takıldığınız bir yer olursa yorum yapmaktan veya WhatsApp grubumuzdan yazmaktan çekinmeyin. Sorunuz yanıtsız kalmayacaktır. Kendinize iyi bakın. Bir sonraki yazıda görüşmek dileğiyle. Allah’a emanet olun.