Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Herkese selamlar dostlar. Umarım herkes iyidir.

Bir projede Interface ve repository pattern kullanayım dedim. Çok katmanlı bir mimari olsun istedim. Ufak ufak da başladım.

Inertiajs-vuejs-Laravel10 ile işe giriştim. Aşağıda kod ekran görüntüsü ekledim. Controller bölümünde eskiden kullandığım gibi update işlemini yapamadım. Bunu denerken hata mesajı da vermedi update de etmedi. Fakat interface ve repository üzerinden düzenleme yapınca update işlem çalıştı.

Gözden kaçırdığım, yakalayamadığım durum sanırım teorik bilgi eksikliğimden. Şöyle ki: Controller kodlarında açıklama satırında belirttiğim eski kod neden çalışmadı?

    MehmetCanYUMUTUTAN $this->app->bind(CardInterface::class, CardRepository::class); yaptınız mı? Bir de değişiklikleri yaptıktan sonra php artisan optimize:clear çalıştırın.

    Repository içine Request almamanız lazım. CardInterface::update() yöntemi array ya da obje ile veriyi içine alması lazım. Siz şu an tamamen CardController/UpdateCardRequest bağımlı bir repository yazmışsınız.

    Card::find($id)->update() olmaz. Card bulamazsa null döneceği için object type hatası alırsınız. En azından findOrFail kullanın.

      mgsmus $this->app->bind(CardInterface::class, CardRepository::class);

      Evet bunu yaptım.

      mgsmus Repository içine Request almamanız lazım.

      Bunu da düzenleyeceğim.

      Teşekkür ederim.