lostyazilim
tr.link

Php function kullanımı performansı etkiler mi?

8 Mesajlar 1.271 Okunma
lstbozum
tr.link

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • 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
wmaraci
reklam

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • 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.
MehmetMasa yazilimsoru

kişi bu mesajı beğendi.

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • 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

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)
Bundan sonraki adım class kullanmak olur umarım. Başarılar dilerim.
ismail03 yazilimsoru

kişi bu mesajı beğendi.

wmaraci
wmaraci

yazilimsoru yazilimsoru Yazilimsoru.com Kullanıcı
  • Üyelik 05.03.2018
  • Yaş/Cinsiyet 26 / E
  • Meslek Web developer
  • Konum İstanbul Avrupa
  • Ad Soyad İ** K**
  • Mesajlar 437
  • Beğeniler 132 / 131
  • 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

vectonom vectonom WM Aracı Kullanıcı
  • Üyelik 27.02.2019
  • Yaş/Cinsiyet 29 / E
  • Meslek PHP Developer
  • Konum Kocaeli
  • Ad Soyad O** E**
  • Mesajlar 3
  • Beğeniler 0 / 3
  • 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/20649820/what-is-the-difference-between-class-and-function-in-php
class ve function karsilastirmasi. ingilizcen yoksa yapistir google ceviriye gitsin. mutlaka bir seyleri aradan alip mantik kurup genel olarak bahsettigi sey anlayacaksin.
VipTema ismail03 wpuzman

kişi bu mesajı beğendi.

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

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/20649820/what-is-the-difference-between-class-and-function-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 :D
{Geçmişte saçma sapan konular açmışım eleştirenler olmuş ama şimdi amacıma ulaştım :)}
 

 

vectonom vectonom WM Aracı Kullanıcı
  • Üyelik 27.02.2019
  • Yaş/Cinsiyet 29 / E
  • Meslek PHP Developer
  • Konum Kocaeli
  • Ad Soyad O** E**
  • Mesajlar 3
  • Beğeniler 0 / 3
  • 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 :)
 

 

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