Takip et

Laravel ile Kategori Yönetimi: CRUD İşlemleri ve Form Request Kullanımı

Laravel ile Kategori Yönetimi: CRUD İşlemleri ve Form Request Kullanımı

Merhaba arkadaşlar! Bu yazıda, Laravel framework’ünü kullanarak kategori yönetimi için eksiksiz bir CRUD (Create, Read, Update, Delete) işlemi gerçekleştireceğiz. Aynı zamanda, form doğrulamaları için Form Request’leri nasıl kullanacağımızı da detaylı bir şekilde ele alacağız. Bu sayede, güvenli ve düzenli bir kod yapısı oluşturmuş olacağız. Yazının sonunda, güçlü bir kategori yönetim sistemine sahip olacaksınız.

Proje Hazırlığı

Öncelikle, yeni bir Laravel projesi oluşturalım veya mevcut bir projenizi kullanabilirsiniz. Projenizin içerisinde, kategori tablosu oluşturmamız gerekiyor. Bunun için migration dosyası oluşturacağız. Aşağıdaki kodu database/migrations dizininize ekleyin ve ardından php artisan migrate komutunu çalıştırın:


id();
            $table->string('name');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('categories');
    }
};

Bu migration dosyası, id, name ve zaman damgaları içeren bir categories tablosu oluşturur. Şimdi ise, kategori yönetimi için gerekli controller, model ve view dosyalarını oluşturabiliriz. Bunun için artisan komutlarını kullanabilirsiniz. Örneğin, controller oluşturmak için php artisan make:controller CategoryController komutunu kullanabilirsiniz.

Model Oluşturma ve Tanımlama

Laravel’in Eloquent ORM’sini kullanarak Category modelini oluşturalım. Bu model, veritabanı ile etkileşim kurmamızı kolaylaştıracaktır. app/Models dizininde Category.php dosyasını oluşturabilir ve aşağıdaki gibi düzenleyebilirsiniz:


Form Request'lerin Kullanımı

Güvenlik açısından, kullanıcı girdilerini doğrulamak son derece önemlidir. Laravel'in Form Request özelliği, bu işlemi kolaylaştırır. Yeni bir Form Request oluşturalım: php artisan make:request StoreCategoryRequest ve php artisan make:request UpdateCategoryRequest. Oluşturduğumuz bu dosyaları düzenleyerek doğrulama kurallarını belirtebiliriz.


// app/Http/Requests/StoreCategoryRequest.php

     */
    public function rules(): array
    {
        return [
            'name' => 'required|string|max:255|unique:categories',
        ];
    }
}

// app/Http/Requests/UpdateCategoryRequest.php

     */
    public function rules(): array
    {
        return [
            'name' => 'required|string|max:255|unique:categories,name,' . $this->route('category')->id,
        ];
    }
}

Bu kodlar, kategori isminin zorunlu, string, en fazla 255 karakter uzunluğunda ve benzersiz olmasını sağlar. UpdateCategoryRequest ise güncelleme işlemi için mevcut kategori ID'sini dikkate alarak benzersizlik kontrolünü yapar.

Controller İşlemleri

Son olarak, CategoryController'da CRUD işlemlerini oluşturalım. Bu işlemler, model ve Form Request'leri kullanarak veritabanı ile etkileşim kuracaktır. Aşağıda basit bir örnek verilmiştir. Bu örneği kendi ihtiyaçlarınıza göre genişletebilirsiniz:


validated());
        return redirect()->route('categories.index')->with('success', 'Kategori başarıyla eklendi.');
    }

    public function show(Category $category)
    {
        return view('categories.show', compact('category'));
    }

    public function edit(Category $category)
    {
        return view('categories.edit', compact('category'));
    }

    public function update(UpdateCategoryRequest $request, Category $category)
    {
        $category->update($request->validated());
        return redirect()->route('categories.index')->with('success', 'Kategori başarıyla güncellendi.');
    }

    public function destroy(Category $category)
    {
        $category->delete();
        return redirect()->route('categories.index')->with('success', 'Kategori başarıyla silindi.');
    }
}

Bu controller, tüm CRUD işlemlerini kapsar ve Form Request'leri kullanarak girdi doğrulaması yapar. Unutmayın ki, bu kodları kendi projenizin yapısına göre düzenlemeniz gerekebilir. Ayrıca, ilgili view dosyalarını da oluşturmanız gerekmektedir.

Bu detaylı anlatım ile Laravel'de güçlü bir kategori yönetim sistemi oluşturabilirsiniz. Daha fazla bilgi ve örnekler için fatihsoysal.com adresini ziyaret edebilirsiniz. Umarım bu yazı faydalı olmuştur!

#Etiketler: Laravel, CRUD, Form Request, Kategori Yönetimi, PHP, Veritabanı, Model, Controller, View, Doğrulama, Güvenlik, Web Geliştirme

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.