lostyazilim
tr.link

PHP OOP Kullanırken

4 Mesajlar 826 Okunma
lstbozum
tr.link

GuestLion GuestLion WM Aracı Kullanıcı
  • Üyelik 20.04.2014
  • Yaş/Cinsiyet 47 / E
  • Meslek Yazılım Geliştirme
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 852
  • Beğeniler 340 / 340
  • Ticaret 39, (%100)
Mevcut sitelerimi tümüyle oop ye çeviriyorum. Ancak aklıma takılan bir husus var. Sınıfa gönderilen parametreleri fonksiyona parametre vererek gönderebilirim veya sınıfta tanımladıpım özelliklere atama yaparak fonksiyonların bu özellikleri kullanarak işlem yapmalarını sağlayabilirim veya tüm verileri tek tek parametre vermwk yerine tek bir diziye atamak suretiylede işlemleri gerçemleştirebilirim. Yani fonksiyonların tamamı parametresizde (parametreleri public private özelliklerden çekebilirler) çalışabilir ya da gönderiğim dizidende veriyi çekebilirler.
Hatta fonksiyınlarda return yerine doğrudan fonksiyon çıktısını özelliklere atayıp sonucu özelliklerden de çekebilirim.
Sormak istediğim şu, bunun bir standardı daha verimli olan doğru şekli var mıdır?
 

 

wmaraci
reklam

swoorr swoorr php,pwa web etc. Kullanıcı
  • Üyelik 13.12.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek web developer
  • Konum İstanbul Anadolu
  • Ad Soyad F** Ş**
  • Mesajlar 120
  • Beğeniler 32 / 31
  • Ticaret 2, (%100)
codeigniter laravel vb open source, simple project'leri incelemeni öneririm
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Yeni başladığın için kafa karışıklığı yaşıyorsun ama biraz ara verip baktığında parametreyi parametre olarak göndermenin mantıklı olduğu sonucuna ulaşırsın. Sınıfa ait propery'ler üzerinden de gönderilebilir mantıksız değil ama bu iş için zaten fonksiyona parametre geçmek diye bir kavram var.

E peki sınıf propery'lerini ne zaman kullanıyoruz? Aynı sınıf içinde a, b, c, d metodları olsun. Birbirlerine parametre geçmeye gerek olmayacak veya nadiren parametre geçilmesi gerektiğinde vs vs global bir değişken olarak kullanıyoruz. Local değişkeni tanımlayıp sonraki satırlarda if dersin değer verirsin, daha sonraki satırlarda başka bir şey yapıp değer verip alırsın vs vs gibi düşünebilirsin, bu bütün sınıf tarafından erişiliyor veya diğer sınıflardan erişilebilir.

Son olarak dizi şeklinde gönderip göndermemek sana kalmış ama tutupta 20 değişkeni yollarsan bol bol küfür yersin. Genel olarak max 3-5 tane parametre beklenir, sen sıkarsın 7 olur ama abartmamak lazım.

Hatta dizi olarak gönderiyorsan PHP'de bir güzellik var; extract metodu. Diziyi key-value şeklinde gönderip alırken de extract metoduyla tüm keyleri bir değişken olarak oluşturuyor ve value'larını da değer olarak atıyor. Yani dizideki tüm item'ları değişkene çeviriyor, değişken olarak direkt kullanabilirsin.

extract(['degisken' => 'değer']); echo $degisken;
Sinan GuestLion

kişi bu mesajı beğendi.

no time for caution

GuestLion GuestLion WM Aracı Kullanıcı
  • Üyelik 20.04.2014
  • Yaş/Cinsiyet 47 / E
  • Meslek Yazılım Geliştirme
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 852
  • Beğeniler 340 / 340
  • Ticaret 39, (%100)
Cevabınız çok isabetli, özellikle kafa karışıklığı noktasında haklısınız. Bir şeyi yapmanın birden çok yolu olduğunda seçim yapmak tecrübede yoksa kafa karıştırıyor ister istemez.
Ama cevabınız açıklayıcı oldu benim için. Tekrar teşekkürler.
 

 

wmaraci
wmaraci
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al