Şöyle de yapabilirsiniz:
Göstereceğiniz veri için bir view oluşturun. Örneğin:
ajax/deger.blade.php
<div class="alert alert-info">
<p>{{ $deger }}</p>
</div>
// DegerController.php
public function rastgeleDeger()
{
// Bu şekilde kullanırsanız daha iyi olur. Öteki türlü sonuca $result[0] şeklinde ulaşmanız gerekecek.
return Deger::orderByRaw("RAND()")->first();
}
public function rastgeleDegerHTML()
{
$deger = $this->rastgeleDeger();
return View::make('ajax.deger',compact('deger'));
}
// Rota
Route::get('rastgele/html','DegerController@rastgeleDegerHTML');
Rotaları, controllerları.... farklı şekilde kullanarak aynı sonuca ulaşmanızı sağlayacak bir sürü yol var. Ben genel olarak mantığını vermeye çalışıyorum
Bu şekilde istediğiniz veriyi, oluşturacağınız HTML ile çekin. Bu şekilde dom manipülasyonu yapmadan işi halletmiş olursunuz. Bu tür şeyler eğer bir çok yerde kullanılacaksa, yoğun bir şekilde js framework, kütüphane vs... kullanılacaksa ayrıca bir RESTful Api oluşturmanız proje için daha elverişli olur. api/users/json, api/products/5/xml... gibi rotalarla raw verilere javascript ile kolayca ulaşırsınız.
Tek bir controller olup olmaması sorun yaratmaz ama işlemler için controllerları işlerine göre çoğaltmak, repository, prototype, decorator... gibi tasarım desenleri kullanmak projesinizi daha düzenli ve kolay değiştirilebilir hale getirir, aynı şeyleri tekrar tekrar yazmanızı engeller. MVC yapılarında controllerın şişmesini engellemek gibi bir gelenek vardır
![](/assets/images/smileys/smile.png)
kime sorsanız aynı şeyi söyler, ne kadar sade olursa o kadar iyi ve kullanışlı olur. Bunları kullanıp kullanmamanızı projenin büyüklüğü, devamlılığı, performans.... gibi etkenler belirler.