Birçok geliştirici gibi, yerel geliştirme ortamınızı yapılandırmakla kod yazmak arasında gidip geliyorsanız, yalnız değilsiniz. macOS üzerindeki PHP geliştirici deneyimi pek çok açıdan “parça parça” görünüyor.
Uzun yıllar boyunca seçenekler şunlardı:
- MAMP Pro: Şişkin, pahalı, kullanışsız arayüz
- Laravel Valet: Harika, ancak Laravel’e sıkı sıkıya bağlı
- Docker: Yerel geliştirme için aşırı, bellek tüketimi yüksek ve daha fazla bileşen
- Manuel Homebrew kurulumu: Çalışıyor ama PHP versiyonları, Apache yapılandırması, SSL sertifikaları ve DNS yönetimi kabus gibi
Tüm bu yöntemleri denedim ve nihayetinde daha iyi bir yol buldum.
Mevcut Durumun Sorunları
Mevcut Durumun Sorunları
Geçen yıl, üç projeyi aynı anda yürütüyordum:
- PHP 7.4 çalışan bir eski WordPress sitesi
- PHP 8.2 üzerinde modern bir Laravel uygulaması
- Apache’yi ters proxy olarak kullanan bir SSL gereksinimi olan Node.js servisi
Projeler arasında geçiş yaptığımda ya Apache konfigürasyonlarını manuel olarak düzenlemek zorunda kalıyordum ya da Valet komutları kullanıyordum. SSL sertifikası oluşturmak, mkcert belgelerine girmeyi gerektiriyordu. Sanal ana bilgisayarlar? Daha fazla yapılandırma dosyası. DNS ayarı? Daha da fazla sıkıntı.
Gerçek sorun şuydu: Bir Node.js projesi eklediğimde, mevcut araçlarım çok dilli ortamları iyi yönetemiyordu.
KettleCode ile Tanışın
KettleCode ile Tanışın
KettleCode ile tanışmam altı ay önce oldu ve o zamandan beri macOS menü çubuğumda sessizce duruyor. PHP, Node.js, Apache, MySQL, DNS ve SSL gibi tüm bileşenleri tek noktadan yöneten yerel bir Swift uygulaması.
Bunu farklı yapan şeyler şunlar:
1. PHP Versiyon Yönetimi (Bağlam Geçişine Son)
1. PHP Versiyon Yönetimi (Bağlam Geçişine Son)
KettleCode, birden fazla PHP versiyonunu (7.0’dan 8.6’ya kadar) yüklemenize ve bunlar arasında anında geçiş yapmanıza olanak tanır. Ancak gerçek güç, proje başına geçişte gizli.
WordPress sitemi PHP 7.4 ile, Laravel uygulamamı ise 8.2 ile ayarladım. Her proje dizinine gittiğimde, KettleCode’un menü çubuğu hangi versiyonun aktif olduğunu gösteriyor. Tıklamanız yeterli. Hepsi bu kadar.
Hiçbir ortam değişkeni ile uğraşmak zorunda kalmıyorsunuz. Shell profillerini düzenlemeye gerek yok. Hiçbir şeyi yeniden başlatmanıza gerek yok.
2. Gerçek HTTPS ile .test Alanları
2. Gerçek HTTPS ile .test Alanları
Yerel bir alan oluşturmak daha önce şunları gerektiriyordu:
/etc/hostsdosyasını düzenle- Apache sanal ana bilgisayarını yapılandır
- mkcert ile SSL sertifikası oluştur
- Sertifikayı anahtarlığa ekle
- Apache’yi yeniden başlat
- Umarım çalışır
KettleCode, bunu menü çubuğunda hallediyor. Bir alan oluşturun. Arka uç seçin (PHP projeleri için PHP-FPM, Node.js için ters proxy). Artık https://mysite.test ile geçerli bir SSL sertifikanız var.
Bu durum düşündüğünüzden daha önemli. Birçok tarayıcı API’si HTTPS gerektiriyor, hatta localhost için bile. Ödeme işleyicileri, coğrafi konum, hizmet çalışanları – hepsi güvenli bağlamlar talep ediyor. HTTPS olmadan geliştirmek giderek daha pratik olmaktan çıkıyor.
3. Node.js Versiyon Yönetimi + Ters Proxy
3. Node.js Versiyon Yönetimi + Ters Proxy
Node.js bölümünü beklemiyordum. Sadece temel versiyon geçişi bekliyordum, ama KettleCode bunu daha ileri götürüyor.
.test alanları ile Node.js hizmetlerini ters proxy modunda kullanabilirsiniz. Böylece Express veya Next.js sunucunuzu localhost:3000 üzerinde çalıştırabilir, ancak https://myapp.test üzerinden erişebilirsiniz. Apache, HTTPS sonlandırmasını hallediyor.
Bu, webhooks, OAuth akışları ve stabil, güvenli bir alan gerektiren herhangi bir yerel geliştirme için büyük.
4. Tek Menü Çubuğu, Her Şey Yönetiliyor
4. Tek Menü Çubuğu, Her Şey Yönetiliyor
Bu, hafife alınan bir bölüm. Her servis – PHP versiyonu, MySQL, Apache, dnsmasq ve her .test alanı – menü çubuğunda görünüyor. Servisleri başlat/ durdur. Durumu kontrol et. Günlükleri görüntüle. Tüm bunları terminal veya ayrı bir uygulama açmadan yapabilirsiniz.
Bu, MAMP’ın olması gereken gibi hissettiriyor.
AI Entegrasyonu (MCP Sunucusu)
AI Entegrasyonu (MCP Sunucusu)
Burada gelecek için ilginç bir durum var. KettleCode, 18 araç içeren bir MCP (Model Context Protocol) sunucusu içeriyor. Eğer Claude Code, Cursor veya AI asistanıyla VS Code kullanıyorsanız, şunları yapmasını isteyebilirsiniz:
- Yapılandırılmış alanlarla yeni bir PHP projesi oluştur
- Mevcut proje için PHP versiyonlarını değiştir
- Her türlü servisten günlükleri görüntüle
- Sanal ana bilgisayarları oluştur ve yönet
Bu aşamada, yerel geliştirici ortamınızın düzenleyiciniz ve AI araçlarınızla konuşması gerektiği gibi bir şey.
Başlarken
Başlarken
Kurulumu oldukça basit:
- KettleCode’u kettlecode.org adresinden indirin
- Başlatın
- İlk çalıştırma sırasında Homebrew bağımlılıklarını yükler
- Menü çubuğundaki “Sanal Ana Bilgisayar Oluştur” seçeneğine tıklayın
- İşlem tamamlandı
Docker yok. VM yok. Uzun yapılandırmalar yok. Sadece yerel performans ve temiz bir arayüz.
Maliyet Ne Olacak?
Maliyet Ne Olacak?
Bu ücretsiz. Premium katman yok, çapraz satış yok. Sadece sorunu çözen bir araç.
Eksik Parça
Eksik Parça
Eğer bir macOS geliştiricisi olarak Docker’ın yükünden, MAMP’ın ağırlığından ya da Valet’in sınırlamalarından bıktıysanız, KettleCode gerçekten bir ihtiyacı karşılıyor. PHP geliştirmeye başladığımda olmasını istediğim bir şeydi.
Özellikle Laravel geliştiricileri için: Valet harika ama KettleCode, istifinizin Laravel dışındaki bileşenlerini daha iyi yönetiyor. WordPress geliştiricileri için: MAMP’ı unutun. PHP ve Node.js ile meşgul olan tam yığın geliştiriciler için: bu tam size göre.
Tek dezavantajı? Sadece macOS üzerinde çalışıyor. Eğer Linux veya Windows’taysanız, şansınız kalmadı. Ama bir Mac kullanıyorsanız, doğru yerdesiniz.
Deneyin. Gelecekteki kendinize teşekkür edeceksiniz.
KettleCode, ücretsizdir ve kettlecode.org adresinde mevcuttur. Docker yok. VM yok. Sadece tarayıcınız, düzenleyiciniz ve yerel geliştirme için ihtiyaç duyduğunuz her şey.
Kaynak: Orijinal Makale


