Arkadaşlar merhaba.
Kafama takılan bir durum oldu, araştırdım ama istediğim gibi bir kaynağa ulaşamadım ne yazık ki. Şimdi sorun şu:
Static, singleton yapıda bir class yazdım. Bu classı şöyle kullanabiliyorum.
db::select('id, title, content');
db::from('news');
db::orderBy('id', 'desc');
$result = db::getAll();
var_dump($result);şimdi buraya kadar sorunum yok. Bu kodlama çalışıyor sistem. Ama ben şöyle bir yapı kullanmak istiyorum:
db::select('id, title, content')->from('news')->orderBy('id', 'desc')->getAll();Normal de object bir sınıf olsa, metotların içerisine return $this; yazarak zincirlemeyi sağlayabilirim ama, static olunca sağlayamadım ne yazık ki. Mesela laravel'de bu tarz bir kullanım mevcut. Acaba nasıl yapıldığı hakkında bilgisi olan var mı?
Yardımcı olabilirseniz çok sevinirim.
merhaba,
laravel kodlarını görmedim, yapısını bilmiyorum.
db::select('id, title, content')->from('news')->orderBy('id', 'desc')->getAll();
static class yapısında has a olarak çalışan sorgu oluşturmaya yarayan yardımcı bir class daha mevcut gözüküyor. getAll() methodu ile execute yapıldığı zaman kendini yeniliyor olması gerek. has a class statik olmadığı için çok daha verimli olucaktır.
yapılmış olan tahminen,
$query = new sqlQuery;
$query->select(...)->from->(...)->...;
$result = DB::execute($query);
sizin duruk yöntemlerle yaptığınız
db::select('id, title, content');
db::from('news');
db::orderBy('id', 'desc');
$result = db::getAll();
bu uygulama sağlıklı olmaz, veriler sürekli değişecek, sürekli verileri sıfırlamanız gerekecek.