Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel Sluggable Paketi: Nihayet Düşünceli Slug Oluşturma
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel Sluggable Paketi: Nihayet Düşünceli Slug Oluşturma

Yazılım

Laravel Sluggable Paketi: Nihayet Düşünceli Slug Oluşturma

teknomers
Son güncelleme: 27 Nisan 2026 19:40
teknomers
Paylaş
Paylaş

Laravel News, Eloquent modelleri için yeni Laravel Sluggable paketine dikkat çekti. Bu paket, otomatik bir slug oluşturma çözümü sunuyor ve açıkça söylemek gerekirse, ekosisteme böyle basit bir şeyin dahil edilmesi için gerçekten zaman geldi.

Web Geliştiriciler İçin Neden Önemli

Herhangi bir içerik odaklı Laravel uygulaması geliştiriyorsanız, temiz ve okunabilir URL’lere ihtiyacınız olduğunu bilirsiniz. Bu, “Özel Karakterler İçeren Harika Blog Gönderim!” başlıklı bir yazıyı “ozel-karakterler-icerien-harika-blog-gonderim” gibi bir forma dönüştürmek anlamına geliyor. Bu sadece estetikle ilgili değil; iyi sluglar, SEO açısından kritik öneme sahip, içeriğinizi arama motorları için daha keşfedilebilir kılıyor. Ancak slug oluşturmanın her seferinde kendiniz yapmak, benzersizlikle ilgilenmek ve başlıklar değiştiğinde güncellemek gibi işlemler tekrarlayıcı bir iş haline geliyor. Bu paket, tüm bu sıkıntıları ortadan kaldırıyor, size aslında içeriğe ve özelliklere odaklanma fırsatı tanıyor. Birkaç modelle projede saatlerce zaman kazanmaktan bahsediyoruz.

Teknik Gerçeklik

Kurulumu oldukça kolay. Paketi alıyorsunuz, Eloquent modelinize bir trait ekliyorsunuz ve hangi alandan slug kaynağı alacağını belirtiyorsunuz. Varsayılan olarak benzersizliği sağlıyor, gerekli olduğunda numara ekliyor. Mesela, bir Post modeliniz olduğunu ve onun title alanını sluglaştırmak istediğinizi varsayalım. İşte bunu çalıştırmanın yolu:

// Post modelinizde (app/Models/Post.php)
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;

class Post extends Model
{
    use HasSlug;

    protected $fillable = ['title', 'content', 'slug'];

    public function getSlugOptions() : SlugOptions
    {
        return SlugOptions::create()
            ->generateSlugsFrom('title')
            ->saveSlugsTo('slug');
    }
}

Veritabanı tablounuza bir slug sütunu eklemeniz gerekecek. Bunu basit bir migration ile halledebilirsiniz:

// Migration dosyanızda (örneğin, 2023_10_27_create_posts_table.php)
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up() : void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('content');
            $table->string('slug')->unique(); // Burada sihir oluyor
            $table->timestamps();
        });
    }

    public function down() : void
    {
        Schema::dropIfExists('posts');
    }
};

Artık, bir gönderi oluşturduğunuzda veya güncellediğinizde, slug alanı otomatik olarak dolduruluyor. Temel bir özelliği eklemek bu kadar kolay.

Bugün Gerçekten Ne Yapardım

  1. Paketi yükle: composer require spatie/laravel-sluggable. Spatie paketleri genellikle sağlamdır, bu yüzden bunu kutudan çıkar çıkmaz güveniyorum.
  2. Bir slug sütunu ekle: İlgili Eloquent modellerime string türünde slug adlı bir sütun eklemek için bir migration oluşturun ve bunun unique() olduğundan emin olun.
  3. HasSlug trait’ini ekle: use HasSlug; ve getSlugOptions() metodunu her ihtiyaç duyduğunuz modele ekleyin.
  4. SlugOptions yapılandır: Doğru kaynak niteliğine (örneğin title veya name) ve yeni slug sütununa işaret etmek için generateSlugsFrom() ve saveSlugsTo() seçeneklerini belirtin.
  5. Test et: Birkaç yeni kayıt oluşturun, bazı mevcutlarını güncelleyin ve slugların doğru ve benzersiz bir şekilde oluşturulduğunu doğrulayın.

Dikkat Edilmesi Gerekenler

Paket harika, ancak dikkat edilmesi gereken noktalar her zaman vardır. Eğer slugsız mevcut veriniz varsa, bu paket bunları otomatik olarak doldurmayacak; eski kayıtlar için slugs yaratmak için ayrı bir script veya bir php artisan tinker oturumu kullanmanız gerekecek. Ayrıca, title alanınız değiştiğinde, slug varsayılan olarak yeniden oluşturulacak. Bu genellikle istediğiniz bir durum, ancak başlık düzenlendiğinde kalıcı ve değişmeyen sluglara ihtiyacınız varsa, bunu doNotGenerateSlugsOnUpdate() ile yapılandırmalısınız. Benzersizliği sağlasa da, çok benzer başlıklarla karmaşık kenar koşulları, my-post-1, my-post-2, my-post-3 gibi ideal olmayan sluglar üretebilir. Bu yaygın bir sorun ve bu pakete özgü değil. Ayrıca, incelediğim bu sürüm, çok dilli slugları kutudan çıkar çıkmaz desteklemiyor, bu da küresel uygulamalar için gerçekten bir sıkıntı olabilir.

Laravel projelerinizde slugları yönetmek için tercih ettiğiniz yaklaşım nedir? Kendiniz mi oluşturuyorsunuz yoksa bu tür bir paket iş akışınıza daha mı uygun?

Kaynak: Orijinal Makale

Contents
  • Web Geliştiriciler İçin Neden Önemli
  • Teknik Gerçeklik
  • Bugün Gerçekten Ne Yapardım
  • Dikkat Edilmesi Gerekenler
Laravel 11’de defer() Kullanarak API Yanıtlarımızı Tek Bir Kuyruğa Dokunmadan 3 Kat Daha Hızlı Hale Nasıl Getirdik
Laravel 12 ile Tam Bir E-ticaret REST API’si Geliştirdim — İçerisinde Neler Var
Her Şeyi Servis Sınıflarına Koymayı Bıraktım. Artık Kullandığım Karar Ağaçcığı
Gerçek Zamanlı İkili Opsiyonlar Platformu Kurmanın Zor Kısmı Grafik Değildi
Sıfırdan Depoya: Tam Deploynix Kurulum Kılavuzu
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Son Of Us 2’deki Büyük Ölüm Naughty Dog’da Tartışmalara Neden Oldu
Sonraki Makale Samsung’un İlk Akıllı Gözlükleri Sızdırıldı mı?

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

TSMC AI Talebine Yetişmekte Zorlanıyor: Sınırlarımız Var mı?
Liste
Helldivers 2 Yeni Savaş Kampanyaları ve Gemide Özelleştirme Sunuyor
Oyun
Acil: FlutterShell Arka Kapısı, Kötü Amaçlı Reklamlarla macOS’a Sızıyor
Siber Güvenlik
Acil: Microsoft, Windows sürücü güncellemelerini önbellek hatasına bağlıyor
Siber Güvenlik
Google Fotoğraflar Güncellemesi Dijital Fotoğraf Çerçevenizi Kurtardı
Liste
Guy Fieri Yemekleri Hiç Yutmadı mı? İnternet Teorisi Şaşırtıyor!
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?