"Class App\Http\Requests does not exist" hatasını interenette araştırırsanız eğer, bir çok çözüm yoluna ulaşabilirsiniz. Amacım bu sorunun olası sebeplerini ve kesin çözümlerini tek bir başlık altında toplamaktır. Bu sorunun başlıca birkaç sebebi vardır.
1) Controller'deki Namespace kısmını yanlış belirtmiş olabilirsiniz.
2) Request sınıfını kullanabilmeniz için, controller içine import etmeniz gereken ifadeleri yanlış bir şekilde import etmiş olabilirsiniz.
Bakınız, Laravel 5 ve üzeri ara sürümler için namespace ve import kısımları şöyle olmalı :
3) Controller sınıflarınızı, Controllers dosyası içindeki başka bir alt dizin içinde tutuyorsanız, üstteki ekran görüntüsündeki ifadeleri tanımlamanız işe yaramayacağından yine benzer bir hata ile karşı karşıya kalabilirsiniz.
Buraya kadar herhangi bir sıkıntınız yoksa ve sorununuz halen devam ediyorsa, o halde sorun %90 ihtimalle routes.php klasöründeki post işleminden kaynaklanıyordur. Sorunun routes.php dosyasından kaynaklandığını belirten site neredeyse yok gibidir. Çünkü kolay bir sorun olarak görülür. Oysaki sanıldığı kadar masum bir sorun değildir. Gözden kaçması durumunda saatlerinizi harcamanıza neden olabilecek bir sorundur. Bu sorunu da 4. madde olarak ekleyebiliriz.
4) Routes::post() ifadesi içinde kullandığınız uzantı ile controller sınıfınızdaki fonksiyonunun ismini farklı yazmış olabilirsiniz.
Bu sorunu biraz daha açıklayıcı bir şekilde yazacak olursam, öncelikle bir post işlemi için şöyle bir formumuz olduğunu varsayalım.
Görseldeki
['route'=>'dersekle']kısmına dikkat edin. Route içindeki 'dersekle' ifadesi routes.php klasöründe 'as' kısmına yazılacaktır.
routes.php klasörü içindeki Route::post(...) ifademizin ekran görüntüsü aşağıdaki gibidir :
DersTanimla adlı bir controller sınıfımız olduğunu varsayalım. Bu controller sınfının içerisinde ise dersEkle() adında bir fonksiyonumuz olduğunu varsayalım. Üstteki ekran görüntüsünde de görmüş olduğunuz gibi bunları routes içindeki 'uses' kısmında belirtmeniz gerekiyor.
Üstte belirtilenleri sorunsuz bir şekilde yaptığınızı düşünüyorsanız, hata ile karşı karşıya kalmamak dikkat etmeniz gereken asıl nokta, array kısmından önce yazılan /dersEkle parametresidir. Bu kısma yazacağınız parametre ile fonksiyon isminin aynı olmasına dikkat edin. Aksi takdirde siz ne yaparsanız yapın uygulamanız, kullanıcıdan form aracılığıyla aldığı verileri sağlıklı bir şekilde size iletemeyeceğinden dolayı
ReflectionException in RouteDependencyResolverTrait.php line ...:
Class App\Http\Requests does not exist
hatası ile karşılaşmanız sizin için kaçınılmaz olacaktır.
Konu ile ilgili görüş, öneri veya sormak istediklerinizi aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz. İyi çalışmalar.
0 yorum:
Yorum formuna konuyla ilgili görüş ve sorularınızı bırakabilirsiniz.
Yorumunuza mümkün olan en kısa sürede dönüş yapılacağından emin olabilirsiniz.
Eklenen yorumlar, moderatör onayından sonra yayınlanmaktadır.