Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

7Beğeni
  • 2 Yazan Okan_IŞIK
  • 2 Yazan Okan_IŞIK
  • 3 Yazan vectonom

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

Php function kullanımı performansı etkiler mi?

  #1  
Okunmamış 01 Mart 2019, 22:16
yazilimsoru Adlı Üyenin Avatarı
Yazilimsoru.com
 
Üyelik Tarihi: 05 Mart 2018
Cinsiyet: Erkek
Meslek: Web developer
Ad, Soyad: İs... Ko...
Mesajlar: 369
Beğeniler: 118 / 201
Ticaret: 0, 0%
Merhabalar ben sitemde birden fazla aynı sorguyu yapacağım zaman bunu function ile hallediyorum.Örnek vermek gerekirse; Mesela site'de bir çalışkan üyeler kısmı var birde son yorumlar kısmı var.Çalışkan üyelerin kullanıcı adını çekmem için veritabanı sorgusu yapmam gerekiyor.Aynı sorguyu son yorumlar kısmı içinde yapıyorum.Ben aynı soruyu iki kere yapmak yerine kullanici() diye bir function oluşturuyorum ve kullanici("1"); yaptığım zaman 1 id'li kullanıcının kullanıcı adını veriyor bana.Şimdi bunu kullanmam sistemi çok yorar mı? Birde Her function'da function'un içine veritabanı.php'yi dahil ediyorum bu sıkıntı çıkarır mı?
Web sitem: yazilimsoru.com
  #2  
Okunmamış 01 Mart 2019, 22:24
Okan_IŞIK Adlı Üyenin Avatarı
Ben webmaster değilim
 
Üyelik Tarihi: 29 Haziran 2011
Yaş / Cinsiyet: 32 / Erkek
Konum: Tekirdağ
Ad, Soyad: Öz... Iş...
Mesajlar: 1.239
Beğeniler: 590 / 465
Ticaret: 21, 100%
Bazı bilgileri çekerken veya bir işlemi farklı farklı yerlerde tekrar etmek gerekiyorsa fonksiyon kullanımı dogrudur. He ben nasılsa fonksiyon yazmayı biliyorum bunu da fonksiyonla yapayım şunuda fonksiyonla çekeyim artislik olur sadece
Db yi global olarak her fonksiyonda kullanmanız sorun teşkil etmez zira fonksiyon çağrıldığında çalışır. Düz kod yazmaktan farkı bir işlemi sıkça tekrar ediyorsanız ekstra kod yazma zahmetinden kurtarır.
Mehmet Maşa ve yazilimsoru bunu beğendi.
  #3  
Okunmamış 01 Mart 2019, 22:31
yazilimsoru Adlı Üyenin Avatarı
Yazilimsoru.com
 
Üyelik Tarihi: 05 Mart 2018
Cinsiyet: Erkek
Meslek: Web developer
Ad, Soyad: İs... Ko...
Mesajlar: 369
Beğeniler: 118 / 201
Ticaret: 0, 0%
Okan_IŞIK cevabınız için teşekkür ederim.Bence function büyük bir nimet.İşlerimi öyle kolaylaştırıyor ki anlatamam.Önceden bilmiyordum aynı kodu defalarca yazıyordum sonra proje ekleme yapacağım zaman yok bu ne işe yarıyor falan diye düşünüyordum.Üstelik birde çok fazla kod olduğu için aradığım şeyi rahatça bulamıyordum.
Web sitem: yazilimsoru.com
  #4  
Okunmamış 01 Mart 2019, 22:35
Okan_IŞIK Adlı Üyenin Avatarı
Ben webmaster değilim
 
Üyelik Tarihi: 29 Haziran 2011
Yaş / Cinsiyet: 32 / Erkek
Konum: Tekirdağ
Ad, Soyad: Öz... Iş...
Mesajlar: 1.239
Beğeniler: 590 / 465
Ticaret: 21, 100%
Bundan sonraki adım class kullanmak olur umarım. Başarılar dilerim.
ismail03 ve yazilimsoru bunu beğendi.
  #5  
Okunmamış 01 Mart 2019, 22:36
yazilimsoru Adlı Üyenin Avatarı
Yazilimsoru.com
 
Üyelik Tarihi: 05 Mart 2018
Cinsiyet: Erkek
Meslek: Web developer
Ad, Soyad: İs... Ko...
Mesajlar: 369
Beğeniler: 118 / 201
Ticaret: 0, 0%
Okan_IŞIK class çok duydum ama ne işe yaradığını tam olarak kavrayamadım açıkçası.Class ne işe yarıyor?
Web sitem: yazilimsoru.com
  #6  
Okunmamış 01 Mart 2019, 23:19
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 27 Şubat 2019
Yaş / Cinsiyet: 24 / Erkek
Meslek: PHP Developer
Konum: Kocaeli
Ad, Soyad: Os... Er...
Mesajlar: 3
Beğeniler: 3 / 0
Ticaret: 0, 0%
class functionun gelismis hali diyebiliriz. classlarla methodlar olusturarak ve isine yaracak diger classlari ic ice gecirerek nesne yapisi elde edersin.
ornegin database classi olusturabilirsin.
bu class icinde construct methodunu 1 kez cagirarak ve buraya database verilerini parametre olarak gonderdiginde veritabanina baglanirsin.
sonrasinda insert update where delete ve grud islemlerinde kullandigin bir cok seyi methodlara ayirarak her seferinde tonlarca kod yazmaktan kurtulursun.
ornegin database classini init edip parametrelerini gonderidgini ve databaseye baglandigini varsayiyorum. icinde insert methoduna data ve tablo adi parametrelerini gondererek gonderdigin datayi direk ekletirsin.
database classini init edip $db degiskenine ekledigini varsayalim
$sql = "UPDATE users SET name='John', lastname='Doe', status=1, birthday='1985-03-02' WHERE id=2";
$result = $conn->query($sql);
mysqli ile bu sekilde yapiyorken
classin icindeki update methodunda gerekli islemleri yapinca
$data = array(
'name' => 'John',
'lastname' => 'Doe',
'birthday' => '1985-03-02',
'status' => 1
);
$db->where('id', 2);
$db->update('users', $data);
bu sekilde yapabilirsin.
ne kazandik?
update users set vs bir daha yazmayacagiz => zaman
update users set vs yazmayacagimiz icin yazim hatasi olasiligimiz olmayacak => zaman
peki bunu ben direk update diye bir fonksiyon olusturayim classa hic girmeyeyim diyeceksindir. olusturabilirsin classa girene kadar bunu yapabilirsin.
bunlarin hepsini bir durum olarak varsayarsak mesela veritabaninda guncelleme durumunu yada baska bir durumu yada durumlari fonksiyon ile gruplamanin cok isine yaradigini soyledin. class ise fonksiyonlari grupluyor. mesela database fonksiyonlarini tamamini database classin altinda tutarsin ve database ile ilgili bir isin oldugunda o classa gidersin ve isini gorursun.
ayrica fonksiyonlari ayni isimde kullanamazsin. class adi function adinin soyadi olarak dusunebilirsin ve farkli classlar adi altinda ayni isimde fonksiyon olusturabilirsin. hatta ve hatta classlarida ayni isimde kullabilirsin. namespace diyoruz buna. isim soyisme bir de tc kimlik numarasi veriyorsun. her sey daha anlasilir oluyor.
buradaki kazanimin ise erisebilirlik takip edilebilirlik ve en ama en onemlisi olceklendirilebilirlik olacaktir.
https://stackoverflow.com/questions/...unction-in-php
class ve function karsilastirmasi. ingilizcen yoksa yapistir google ceviriye gitsin. mutlaka bir seyleri aradan alip mantik kurup genel olarak bahsettigi sey anlayacaksin.
Okan_IŞIK, ismail03 ve wpuzman bunu beğendi.
Konu vectonom tarafından (01 Mart 2019, 23:24 ) değiştirilmiştir.
  #7  
Okunmamış 02 Mart 2019, 12:23
ismail03 Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 28 Kasım 2013
Yaş / Cinsiyet: 25 / Erkek
Konum: Afyon
Ad, Soyad: Is... Çi...
Mesajlar: 2.690
Beğeniler: 483 / 343
Ticaret: 11, 100%
Alıntı:
vectonom Adlı Üyeden Alıntı
class functionun gelismis hali diyebiliriz. classlarla methodlar olusturarak ve isine yaracak diger classlari ic ice gecirerek nesne yapisi elde edersin.
ornegin database classi olusturabilirsin.
bu class icinde construct methodunu 1 kez cagirarak ve buraya database verilerini parametre olarak gonderdiginde veritabanina baglanirsin.
sonrasinda insert update where delete ve grud islemlerinde kullandigin bir cok seyi methodlara ayirarak her seferinde tonlarca kod yazmaktan kurtulursun.
ornegin database classini init edip parametrelerini gonderidgini ve databaseye baglandigini varsayiyorum. icinde insert methoduna data ve tablo adi parametrelerini gondererek gonderdigin datayi direk ekletirsin.
database classini init edip $db degiskenine ekledigini varsayalim
$sql = "UPDATE users SET name='John', lastname='Doe', status=1, birthday='1985-03-02' WHERE id=2";
$result = $conn->query($sql);
mysqli ile bu sekilde yapiyorken
classin icindeki update methodunda gerekli islemleri yapinca
$data = array(
'name' => 'John',
'lastname' => 'Doe',
'birthday' => '1985-03-02',
'status' => 1
);
$db->where('id', 2);
$db->update('users', $data);
bu sekilde yapabilirsin.
ne kazandik?
update users set vs bir daha yazmayacagiz => zaman
update users set vs yazmayacagimiz icin yazim hatasi olasiligimiz olmayacak => zaman
peki bunu ben direk update diye bir fonksiyon olusturayim classa hic girmeyeyim diyeceksindir. olusturabilirsin classa girene kadar bunu yapabilirsin.
bunlarin hepsini bir durum olarak varsayarsak mesela veritabaninda guncelleme durumunu yada baska bir durumu yada durumlari fonksiyon ile gruplamanin cok isine yaradigini soyledin. class ise fonksiyonlari grupluyor. mesela database fonksiyonlarini tamamini database classin altinda tutarsin ve database ile ilgili bir isin oldugunda o classa gidersin ve isini gorursun.
ayrica fonksiyonlari ayni isimde kullanamazsin. class adi function adinin soyadi olarak dusunebilirsin ve farkli classlar adi altinda ayni isimde fonksiyon olusturabilirsin. hatta ve hatta classlarida ayni isimde kullabilirsin. namespace diyoruz buna. isim soyisme bir de tc kimlik numarasi veriyorsun. her sey daha anlasilir oluyor.
buradaki kazanimin ise erisebilirlik takip edilebilirlik ve en ama en onemlisi olceklendirilebilirlik olacaktir.
https://stackoverflow.com/questions/...unction-in-php
class ve function karsilastirmasi. ingilizcen yoksa yapistir google ceviriye gitsin. mutlaka bir seyleri aradan alip mantik kurup genel olarak bahsettigi sey anlayacaksin.
Sınıflar Okyanus gibi bişey derine indikçe çok güzel abstract,interface,static kalırım miras Bana çok şey kattı sınıf oluştur interface bagla panel sınıfını dahil et hop bitti
geriye sade basit kısım kalıyor tık tık bitti
{Geçmişte saçma sapan konular açmışım eleştirenler olmuş ama şimdi amacıma ulaştım }
  #8  
Okunmamış 02 Mart 2019, 21:39
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 27 Şubat 2019
Yaş / Cinsiyet: 24 / Erkek
Meslek: PHP Developer
Konum: Kocaeli
Ad, Soyad: Os... Er...
Mesajlar: 3
Beğeniler: 3 / 0
Ticaret: 0, 0%
ismail03 hele bi class icinde emeklemeye baslasin sonra kalitima arayuzlere vs gecer ki su anki yazdiklarim bile kafasini bir miktar karistirmis olabilir. kimin ne dedigine bakma arastirmalara ve bilimsel gerceklere bagli kalarak gelistirmeye devam edelim biz kendimizi bize yeter
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 13:09.