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

      Seviye 66
    <?php
    
    namespace App\Policies;
    
    use App\Models\User;
    use Illuminate\Auth\Access\Response;
    
    class CustomerPolicy
    {
          /**
         * Kullanıcının müşteri listesini görüntüleyip görüntüleyemeyeceğini belirler.
         * (Tüm müşterileri listelemek için temel yetki kontrolü)
         *
         * @param  \App\Models\User  $user   Giriş yapmış kullanıcı
         * @return bool
         */
        public function viewAny(User $user): bool
        {
            //return $user->customer()->exists(); // Eğer en az 1 musteri eklediyse görebilir
            //return $user->role === 'admin'; // Sadece adminler görebilir
            //bazı rollerin listeleme yapmasını istiyorsan
            //return $user->hasRole('admin') || $user->musteri()->exists();
             // Sadece giriş yapmış kullanıcılar musteri listesini görüntüleyebilir
             return true; // Auth middleware zaten kontrol ediyor Herkes görebilir
        }

    Policy üzerinden soruyorum ama sorum başlıkta belirttiğim yorumlarla ilgili . Yeni öğreniyorum ve ilerde bir policy oluşturmak istediğimde açıp daha önceki policyde hangi fonksiyonun ne iş yaptıgını görebilmek adına
    viewAny metoduna bir sürü yorum satırı ekledim ve bu yorumlar tüm fonksiyonlarda var ve açıkcası birazcıkda fazlaca var bunun bir mahsuru varmı ?

      • mgsmus

        Seviye 1382
      • Düzenlendi

      isset Ne derleyici ne de yorumlayıcı üzerinde bir etkisi olmadığı için bir sorun olmaz. Sadece görsel olarak kod okunabilirliğini etkileyebilir ve eğer yorumlardan dokümantasyon oluşturan araçlar kullanıyorsanız onları etkileyebilir. Ben artık bu tür konularda AI'dan yardım alıyorum. Örneğin sizin kodu AI'dan düzeltmesini istedim ve bana şunu verdi:

      class CustomerPolicy
      {
          /**
           * Kullanıcının müşteri listesini görüntüleme yetkisini belirler.
           *
           * Farklı yetkilendirme stratejileri için örnekler:
           *
           * 1. Kullanıcının en az bir müşteriye sahip olup olmadığını kontrol etmek:
           *    return $user->customer()->exists();
           *
           * 2. Sadece 'admin' rolündeki kullanıcıların görüntüleme yapabilmesi:
           *    return $user->role === 'admin';
           *
           * 3. Belirli roller için kontrol (örneğin, 'admin' veya en az bir müşteriye sahip olanlar):
           *    return $user->hasRole('admin') || $user->musteri()->exists();
           *
           * Varsayılan olarak, sadece giriş yapmış kullanıcıların müşteri listesini görüntüleyebilmesini sağlamak için:
           * (Auth middleware tarafından zaten kontrol edilmektedir.)
           *
           * @param  \App\Models\User  $user  Giriş yapmış kullanıcı
           * @return bool
           */
          public function viewAny(User $user): bool
          {
              return true;
          }
      }

      Böylesi daha iyi sanırım.

      evet gerçekten iyiymiş