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: Her gün veritabanımı yapay zeka araçlarına açıklamaktan kurtulmak için bir Laravel paketi geliştirdim.
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 » Her gün veritabanımı yapay zeka araçlarına açıklamaktan kurtulmak için bir Laravel paketi geliştirdim.

Yazılım

Her gün veritabanımı yapay zeka araçlarına açıklamaktan kurtulmak için bir Laravel paketi geliştirdim.

teknomers
Son güncelleme: 11 Mart 2026 18:51
teknomers
Paylaş
Paylaş

Laravel Paketleri Oluşturmanın Temelleri

Yazılım dünyasında yer alan herkes bilir ki, yapay zeka çağında bile her gün her şeyi sıfırdan yazmak yerine diğer geliştiricilerin oluşturduğu paketlere başvuruyoruz. Bu, özellikle müşteri teslim tarihlerini, genelde “dünden önce” olarak belirleyen durumlarda geçerlidir. Ben bir Freelance Yazılım Mühendisiyim ve benim gibi birçok geliştirici yüzlerce Laravel paketi kullanmış olsa da, kendi paketimi hiç yapmamıştım.

Son zamanlarda küçük bir ekip ile yürüttüğüm bir müşteri projesinde sürekli aynı sorunla karşılaşıyordum: yeni commitler ve özellikler arasında veritabanı yapısını anlamak zordu. Migration’lardaki bir değişiklik olduğunda, tüm şemayı yeniden açıklamak zorunda kalıyordum. Bu, onuncu kezden sonra gerçekten can sıkıcı hale geliyordu.

Yardımcı olabilecek bir paket arayışına girdim, ancak ihtiyaçlarıma uygun bir şey bulamadım. Bu durumda her geliştirici gibi, birkaç gün şikayet ettikten sonra bunu kendim yapmaya karar verdim.

Neden bir paket, neden şimdi

İki neden beni bu duruma itti.

Birincisi pratik bir sebepti: Veritabanı yapısının her zaman tek bir dışa aktarılabilir dosya olarak mevcut olmasını istiyordum. Bu dosya, bana yapıcı zihinler içinde yarattığım projelerden bağımsız olarak kullanabileceğim şekilde hazır olabilmeliydi.

İkincisi ise kişisel bir sebepti: Laravel’in iç işleyişine daha derinlemesine dalmak için bir bahane arıyordum. Web uygulamaları oluşturmak harika, ancak bir noktada çerçevenin sağladığı şeylerin ötesinde neler olup bittiğini anlamak istiyorsunuz.

Bu nedenle yeni bir repo açtım ve takıldığımda Claude adlı arkadaşımı arayabileceğimi biliyordum.

Bir satır kod yazmadan tasarlamak

Uygulamaya geçmeden önce iki şey yaptım.

Öncelikle Reddit topluluğuna gidip bir paketi kullanmaya ikna eden unsurların neler olduğunu sordum. Cevaplar kesinlikle tutarlıydı: net dokümantasyon, odaklı bir kapsam, iyi bir test örtüsü ve hemen sekmeyi kapattırmayan bir kod yapısı. Devrim niteliğinde bir şey değil, ancak gerçekten kullanıcıların görüşlerini duyduğumda değerli bir bilgi kaynağı oldu.

Sonra diğer Laravel paketlerini inceleyerek zaman harcadım. Bu paketlerin nasıl göründüğünü anlamak için, kendim için yapmadığınız zaman farklı olduğunu görmek zorundasınız. Kamu repo içinde karmaşık parçaları gizleyemezsiniz.

Yalnızca yapının kafamda netleşmesinin ardından uygulamaya geçtim. AI benim için tasarlayabilirdi ama bunu istemedim. Gerçekten anlamak istedim.

Mimari

Ana hedefim her şeyi basit ama genişletilebilir tutmaktı. Sadece belirli bir veritabanı için çalışan bir script değil, zamanla topluluğun yeni formatlar veya entegrasyonlar ekleyebileceği bir yapı oluşturmaktı.

İki tasarım deseni ihtiyacım için mükemmel bir uyum sağladı.

İlki, render’lar için kullandığım Strategy Pattern. Paket, Mermaid diyagramları ve dbdiagram sentaksı gibi birden fazla çıktı formatını destekliyor. Gelecekte daha fazlası olabilir. Çekirdek içindeki render mantığını hardcode etmek yerine, her format ortak bir arayüzü uygulayan ayrı bir sınıf. Gelecekte yeni bir format eklemek demek, sadece yeni bir sınıf eklemek demek, başka hiç bir şey değil. Çekirdek değişmiyor.

İkincisi ise, çeviri süreci için kullandığım Template Pattern. Çıktı formatları farklı olsa da, genel süreç her zaman aynı: şemayı analiz et, tabloları dolaş, sütunları ve ilişkileri işle, çıktıyı üret. Bu yapıyı bir kere tanımlamak ve her render’ın yalnızca özel kısımlarını doldurmasına izin vermek, mantığı kopyalamadan her şeyi tutarlı tutmayı sağladı.

Kod Yardımcısı Olarak Claude’u Kullanmak

Tasarım kilitlendiğinde, uygulamayı hızlandırmak için Claude’u kullandım; özellikle render formatları ve birim testleri yazmak için. İşte arayüzlerin net tanımlanmış olması hemen fayda sağladı: iyi tanımlanmış arayüzlerle ve yapılandırılmış bir planla, AI kaybolmadan sağlam bir kod üretebildi.

Bunun gerçekten işe yaradığını kontrol etmek için her uygulama yazmadan önce sıkı bir Composer script seti hazırladım: linting, statik analiz, %100 tip kapsamı, %100 kod kapsamı ve otomatik yeniden yapılandırma kontrolü. Her çıktı hepsinden geçmeliydi. İstisna yok, “sonra düzeltiriz” yok.


{
    "scripts": {
        "test:lint": "pint --test",
        "test:type-coverage": "pest --type-coverage --exactly=100",
        "test:unit": "pest --coverage --exactly=100",
        "test:types": "phpstan",
        "test:refactor": "rector --dry-run",
        "test": [
            "@test:lint",
            "@test:type-coverage",
            "@test:unit",
            "@test:types",
            "@test:refactor"
        ]
    }
}
        

Bu, hem beni hem de AI arkadaşımı dürüst tuttu. Çalışan bu durum, genellikle bir haftalık işi birkaç güne sıkıştırdı ki, bu da genel müşteri teslim tarihleri düşünüldüğünde ihtiyaç duyduğum şeydi.

Paketin Gerçekten Ne Yaptığı

Fikir basit: tek bir komut, tek bir dosya, tüm veritabanı yapısı. Araçlarınızın hemen kullanabileceği bir format.

php artisan er:generate
        

Bu sürecin üç ana senaryosu ortaya çıkıyor.

Birincisi, AI ajanslarına veritabanı bağlamı sağlamak için sabır kalmaması. Migration’ları yapıştırmak veya her oturuma başlarken tabloları manuel olarak tanımlamak yerine, yapıyı içeren bir üst seviyeli dosya üretiyorsunuz. AI bunu bir kez okuduğunda her şeye sahip oluyor: tablolar, sütunlar, ilişkiler, indeksler, hepsi bir yerde.

İkincisi, aslında dokümantasyon yazmak zorunda kalmadan veritabanı dokümantasyonu. Şemanın sıkça geliştiği projelerde, her zaman güncel bir dışa aktarılabilir referansın mevcut olması gerçekten yararlı; bu, yeni ekip üyeleri, müşteriler ve kendiniz için geçerli olur.

Üçüncüsü, karmaşık şemaları ek araçlar olmadan görselleştirme. Mermaid ve dbdiagram formatları, bir ER diyagramını anında oluşturmanıza olanak tanır ki bu, özellikle miras alınan bir projeye başlarken veya bir PR’nın on beş tabloyu etkilediği durumlarda gözden geçirme yapmak için yararlıdır.

Bundan Ne Öğrendim

Bir Laravel paketi oluşturmak dışarıdan göründüğü kadar göz korkutucu değil. Composer’autoloading ve service provider keşfi nasıl çalıştığını anladığınızda mekanizmalar oldukça basit. Daha zor olan, başkalarının kodunuzu nasıl kullanacağını hayal etmek, yalnızca sizin nasıl kullandığınız değil — bu bakış açısındaki kaydırma, tasarım kararlarının çoğunun bulunduğu yerdir.

Ayrıca, kod yazmadan önce mimariye zaman harcamanın boşa zaman olmadığını görmek oldukça açıktı. Başlangıç yapısıyla birlikte her eklediğim özellik doğal bir şekilde uyum sağladı çünkü genişletme noktaları zaten oradaydı. Bunun sürekli duyduğunuz ama deneyimlemeden tam olarak inanmadığınız bir şey olduğunu görseniz gerekti.

Bu Sadece Bir Başlangıç

Paket mükemmel değil ve buna gerçekten hazırım. Amaç, ilk seferde kusursuz bir araç göndermek değil. Laravel paketlerinin içinden nasıl çalıştığını anlamak ve her gün beni sinirlendiren bir sorunu çözmekti.

Buradan gidebileceğim zaten birçok yön var: ek dışa aktarma formatları, daha iyi diyagram üretimi, derinlemesine şema analizi, daha fazla AI aracı ile entegrasyon. Açık kaynak, sizin kadar deneyimli olmayan geliştiricilerden öğrenmek ile ilgilidir ve oldukça mutluyum, katkılar, öneriler veya tamamen yanlış bir şey yaptığımı işaret eden birisini bekliyorum.

Denemek istiyorsanız:

composer require paolobellini/laravel-er
        

https://github.com/paolobellini/laravel-er

Kaynak: Orijinal Makale

Contents
  • Neden bir paket, neden şimdi
  • Bir satır kod yazmadan tasarlamak
  • Mimari
  • Kod Yardımcısı Olarak Claude’u Kullanmak
  • Paketin Gerçekten Ne Yaptığı
  • Bundan Ne Öğrendim
  • Bu Sadece Bir Başlangıç
Cache-Aside Deseni: Tembel Önbelleklemenin Sanatı
10 Yıldan Fazla Üretimde Edindiğim 10 Laravel Performans Optimizasyon İpucu
Daha Büyük Sunucular Satın Almayı Bırakın: Laravel Yük Dengeleyici Mimarisi Kurma
Laravel’de Temiz Mimariye Adım Adım Yeniden Yapılandırma: Fat Controller’dan Başlangıç
Laravel’de Yavaş Sorguları Üretime Geçmeden Bulma ve Düzeltme
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Nintendo Hisseleri Pokemon Pokopia ile Yüzde 10 Değer Kazandı
Sonraki Makale İran, Nvidia ve Microsoft’a bankaya saldırı nedeniyle tehditte bulundu

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Anthropic Mythos: Güvenli AI Modelleri ve Cyber Ortaklar için Yeni Özellikler
Genel
Teknoloji Şirketleri Uygun Fiyatlı AI Modellerini Benimseyebilir Mi?
Yapay Zeka
Yapay zeka gelişimi için daha fazla hesaplama gücü şarttır
Donanım
Üst Düzey Konfor: Secretlab Atlas ile Oyun Deneyimini Geliştirin
Oyun
FAANG Yerine MANGOS Dönemi Başlıyor
Genel
Anthropic Mythos Sınıfı İlk Modelini Tanıttı: Claude Fable Neler Sunuyor?
Liste
//

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?