caglar_kocak Laravel bir framework, kendi başına bir anlamı olmayan içi boş bir kabuk. O yüzden Laravel ile bir uygulama geliştireceğiniz zaman Laravel'i iskelet olarak alıp kendi uygulamanızın frameworkünü geliştirirsiniz. Bu framework üzerine de uygulamanızın iş mantığını inşa edersiniz. Bu şekilde anlam kazanır, somutlaşır, ortaya bir uygulama bir ürün çıkar. Böylece iş mantığı ile ilgili bir geliştirme yapacağınız zaman Laravel seviyesine kadar inmeyip kendi frameworkünüzü kullanarak geliştirme yapabilirsiniz. Ne zaman ki kendi frameworkünüz yetersiz kalır o zaman Laravel seviyesine inip geliştirme yaparsınız. Bu geliştirme iş mantığı değil uygulama mantığı üzerine bir geliştirme olur (Bir User modelini email adresinden bulan yöntem uygulama mantığı (application logic); bir kuryenin aylık taşıdığı paketlerden aylık kazancını bulan yöntem ise iş mantığına (business logic) aittir).
Laravel kullanırken $_POST kullanmak demek uygulama geliştirmek değil Laravel'i makyajlayıp uygulamaya benzetmeye çalışmak demek. Siz kendi uygulamanızı yapmıyor oluyorsunuz; Laravel'in kendi başına çalışan özelliklerini biraz değiştirip istediğiniz sonucu elde etmeye çalışmış oluyorsunuz. Sonunda da bir uygulama değil sanki size itaat etmesi için yama yapılmış bir Laravel ortaya çıkıyor. Bu şekilde bir iş güncellenirken, takım ile çalışılması gerektiğinde, yeni özellikler eklenmeye çalışıldığında ya da mevcut olanlar değiştirilmeye çalışıldığında tıkanıyor, çorbaya dönüyor, sürekliliği olmuyor.
Teknik kısma girmeye çok gerek yok. $_POST ile sadece post ile gelen veriyi yakalarsınız; get, put, patch, delete verisini alamazsınız. Halbuki $request->input('name') ile hepsini yakalarsınız. Aynı anda sadece bir http yüklemi olacağı için de hangisi ile istek yapılırsa yapılsın çözümleyip size getirir ama konu bu değil. Konu, kod yazmak ile yazılım geliştirmenin farklı şeyler olduğunu anlamanız lazım. Mevzu bahis Laravel olduğuna göre yapmanız gereken de Laravel'in kurallarına uymak.
Elbette seçim yine sizin. İstediğinizi istediğiniz şekilde kullanabilirsiniz, çalışıyor mu çalışıyor demek yeterli gelirse ve kendinizi rahat hissederseniz sorun yok. Mesela ben yapamıyorum bunu, bendeki kaygı bu rahatlamaya izin vermiyor.
caglar_kocak Birde echo kullanmazsam response olarak dönen yanıtı nasıl alacağım ? yazmayan bir veriyi alabiliyor muyum ?
Her dönüş Laravel tarafından otomatik olarak Response'a dönüştürülür. Gelen istek text istiyorsa çıktı text/html olarak, json istiyorsa application/json olarak istemciye verilir. Objeler otomatik olarak serialize edilir ve application/json olarak istemciye verilir. Test edebilirsiniz:
Route::get('test', function() {
return 'ok';
// return [1, 2, 3];
// return User::first();
});