Son haftalarda, Laravel için gerçek bir dünya probleminden doğmuş küçük bir araç üzerinde çalıştım: birden fazla ortamda (local, staging, production) .env dosyalarını güvenli bir şekilde yönetmek.
Bir uygulamanın bozulması için ne kadar az şeyin yeterli olduğunu fark ettim: eksik bir değer, yanlış bir değişken, aceleyle yapılan bir kopyala-yapıştır. Ve bu durum üretimde gerçekleştiğinde, stresli ve riskli oluyor.
Bu nedenle, Laravel’in çalışma şekline müdahale etmeden .env yönetimini biraz daha güvenli ve kontrollü hale getiren bir şey inşa etmeye karar verdim.
🔐 Araç ne yapıyor? (basit terimlerle)
🔐 Araç ne yapıyor? (basit terimlerle)
.env dosyası genellikle aşağıdakileri içerir:
• veritabanı kimlik bilgileri
• API anahtarları
• ortam modu
• diğer kritik konfigürasyon değerleri
Bu oldukça hassas bir dosya — bir yanlış satır uygulamanın durmasına sebep olabilir.
Bu nedenle araç, “güvenlik katmanı” gibi hareket eder.
Şunları yapmanıza olanak tanır:
✔ ortam başına konfigürasyon yönetimi
✔ istediğiniz zaman oluşturulan bir .env dosyasını dışa aktarma
✔ eski .env dosyanızın otomatik yedeklenmesi
✔ ihtiyaç durumunda anında geri alma
Ve en önemlisi:
➡ gerçek .env dosyanız kesin uygulama yapmadığınız sürece ELDE EDİLMİYOR
🧪 Örnekler
🧪 Örnekler
Bir konfigürasyonu dışa aktarma:
php artisan config-manager:export
Bu, aşağıdakini oluşturur:
.env.config-manager
.env dosyanız henüz değiştirilmedi.
Konfigürasyonu uygulamak için (otomatik yedekleme ile):
php artisan config-manager:export --apply
Bu:
✔ mevcut .env dosyanızı .env.backups/ dizinine yedekler
✔ bunun yerine oluşturulmuş olanı koyar
Önceki .env dosyasına geri dönüş:
php artisan config-manager:export --rollback
Anında geri yükleme — drama olmadan 🙂
Eğer ortam production olarak işaretlenmişse, araç bir şey yapmadan önce net bir onay penceresi gösterir — böylece canlı konfigürasyonu kazara üzerine yazmamış olursunuz.
🔍 Denemek isterseniz
🔍 Denemek isterseniz
GitHub:
https://github.com/Vanni7544/config-manager
Gumroad (ticari, kuruluma hazır paket):
https://daghini.gumroad.com/l/ifyzw
Bu bir SaaS değildir — hiçbir şey sunucunuzdan çıkmaz.
Her şey, Laravel projeniz içinde yerel olarak çalışır.
💬 Geri bildirimleriniz bekleniyor
💬 Geri bildirimleriniz bekleniyor
Denediyseniz ve geri bildirim, eleştiri, iyileştirme fikirleriniz veya .env dosyasını daha güvenli bir şekilde yönetme yolları hakkında düşünceleriniz varsa, bunları duymaktan mutluluk duyarım.
Ayrıca, merak ediyorsanız — AMA tarzında — aşağıdakiler hakkında konuşabilirim:
• neden bunu inşa ettim
• iç işleyişi nasıl çalışıyor
• hangi gerçek dünya problemlerini çözdü
• bir sonraki iyileştirmek istediğim şeyler
Konuşmaktan mutluluk duyarım 🙂
Bu bir promosyon yazısı değil — daha çok inşa ettiğim bir şeyi paylaşmanın ve umarım toplulukla öğrenmenin bir yolu.
Okuduğunuz için teşekkürler!
❤️ NOT
İngilizce bazı yerlerde mükemmel değilse, affedin — ben İtalyanım 🇮🇹 ve elimden gelenin en iyisini yapıyorum 😄 Herhangi bir şeyi netleştirmekten mutluluk duyarım!
Kaynak: Orijinal Makale


