SQLens

SQLens, PHP kodu içindeki SQL sorgularını VS Code içinde güvenlik, performans ve bakım sinyalleriyle analiz eden geliştirici eklentisi.

Projeyi aç ↗
SQLens proje kapak görseli

SQLens, PHP dosyalarının içindeki SQL sorgularını editörü terk etmeden görünür hale getirmek için geliştirdiğim bir VS Code eklentisi. Amacım, sorgunun yalnızca bir metin parçası olarak kalmaması; güvenlik riski, performans sinyali ve bağlam bilgisiyle birlikte okunabilir bir geliştirici nesnesine dönüşmesiydi.

Problem

PHP projelerinde SQL çoğu zaman controller, helper, ORM sarmalayıcıları veya framework’e özgü veri erişim katmanlarının içine dağılmış halde kalıyor. Bu da şu sorunların daha geç fark edilmesine neden oluyor:

Bu projeyi, PHP içindeki SQL’i “çalışıyor mu?” seviyesinden çıkarıp “ne yapıyor, ne kadar güvenli, nasıl iyileştirilir?” seviyesine taşımak için geliştirdim.

Bu projede odaklandığım noktalar

Analiz kapsamı

Kod analizi

Güvenlik analizi

Performans sinyalleri

VS Code deneyimi

Eklentinin en önem verdiğim tarafı, analiz sonuçlarının yalnızca bir günlük çıktısı olarak kalmaması. SQLens, sorguyu editör deneyiminin doğal bir parçası haline getiriyor:

Güvenlik ve gizlilik modeli

Bu projede en net ürün kararı, “çevrimiçi servis gibi davranmamak” oldu. SQLens varsayılan olarak tamamen yerelde çalışır. İsteğe bağlı önizleme ve explain özellikleri etkinleştirilse bile şu sınırlar korunur:

Bu tercih, eklentiyi özellikle WordPress, legacy PHP ve operasyonel risk taşıyan kod tabanlarında daha güvenle kullanılabilir hale getiriyor.

Teknik yapı

Mimari olarak burada beni ilgilendiren ana konu, SQL’i sadece regex ile aramak değildi; PHP ifadesinin içindeki niyeti anlayabilecek kadar yapısal bilgiye erişmekti. Bu sayede daha doğru tespitler, daha anlamlı hover içeriği ve framework’e özgü kararlar üretmek mümkün hale geldi.

Şu anki sınırlar

Proje bilerek kapsamı kontrollü tutuyor. Şu an için:

Bu sınırlar nedeniyle analiz sonuçları inceleme desteği olarak ele alınmalı; güvenlik ve performans kararları kod bağlamı ve gerçek sorgu planıyla birlikte doğrulanmalıdır.

Bağlantılar

← Tüm projeler