İçeriğe geç
Muhammet Şafak
en
Kapak görseli — mor ışıklı çekmece duvarı: ROUTER, DATABASE, CACHE, MAILER, SOCKET, CLI, SESSION, AUTH, LOG etiketleri; ortada iki PHP fili, tezgâhta boş etiket plakaları
Geliştirici araçları & CI Durduruldu

Tek başına da çalışan, birlikte de çalışan PHP paketleri

Framework'e bağlanmadan çalışan 30'u aşkın paketlik bir PHP kütüphane ailesi ve üstündeki MVC çatısı Framework3; Lab kaydı kapandı, paketler bakımda.

Şu an ne yapıyor

30'u aşkın paketlik bir PHP kütüphane ailesi: Router, Database, Cache, Mailer, Socket ve diğerleri hem tek başına hem birlikte çalışıyor, hepsi Composer/Packagist üzerinden MIT lisansıyla dağıtılıyor. Framework'e bağlanmadan parça kullanmak isteyen PHP geliştiricisi bugün kurabilir.

Başlangıç
Ocak 2021 — Ağustos 2022
Labs’tan çıkış

Tür

Open-Source

Teknolojiler

PHP Composer PHPUnit

Bir PHP paketi ya bir çatının parçasıdır ya da tek başına duran bir araç. İkisini birden isteyince ortak bir çekirdek paket yazmak ilk akla gelen çözüm — ve yanlış olan da o.

Tek başına mı, aile mi

Denenen şey şuydu: Router, Database, Cache, Mailer, Socket gibi parçalar hem tek başına kurulduğunda anlamlı çalışsın, hem aynı ailedeki diğer paketlerle birleştiğinde bir çatı oluştursun. Parçalar ayrı ayrı yazıldı ve her biri kendi başına bir soruya cevap verdi.

30’u aşkın paket ve üstündeki çatı

30’u aşkın bağımsız paket ve bunların üzerine oturan minimalist bir MVC çatısı (Framework3). Ortak zemin tip güvenliği ve PHPUnit testleri; dağıtım Composer/Packagist üzerinden, lisans MIT.

Ortak çekirdek yerine PSR

“Hem tek başına hem birlikte” isteği tek bir noktada çatışıyor: paketler birbirini tanımak zorundaysa aralarında bir bağımlılık var demektir ve o bağımlılık tek başına kurulumu bozar.

İlk akla gelen çözüm ortak bir çekirdek paket yazmaktı — initphp/core gibi bir şey, arayüzleri ve ortak yardımcıları taşısın. O yol iki şeyi birden getirirdi: her paket bir bağımlılık daha kazanırdı ve ailenin dışındaki hiçbir kütüphane bu çekirdeği tanımayacağı için aile kendi içine kapanırdı.

Seçilen zemin PHP-FIG standartları oldu. Logger PSR-3, Container PSR-11 uyguluyor; paketler birbirini değil, ortak bir arayüz sözleşmesini tanıyor. Bunun karşılığı şu: InitPHP Container’ı InitPHP Logger’ı kabul ediyor ama Monolog’u da kabul ediyor ve InitPHP Logger başka birinin PSR-11 container’ına da takılıyor. Çelişkiyi çözen şey ailenin kendi çekirdeği değil, ailenin dışında zaten var olan bir sözleşmeydi.

Tek kütüphane yerine otuz dokuz paket

Ailenin ikinci kararı paketlemede. Otuz dokuz ayrı depo, otuz dokuz sürüm hattı ve otuz dokuz Packagist kaydı yerine tek bir initphp/initphp paketi yazmak bakımı belirgin biçimde ucuzlatırdı.

Bedeli kullanıcıya yazılırdı. Yalnız bir Router isteyen proje, Socket sunucusunu, Mailer’ı ve Queue’yu da kurmak zorunda kalırdı; her sürüm yükseltmesi kullanmadığı on paketin değişikliğini de taşırdı. Ayrılmanın karşılığı şu: composer require initphp/router yalnız Router’ı getiriyor, Socket kütüphanesinin TCP/TLS/UDP/SSL yüzeyini hiç görmüyorsunuz.

Sürdürülebilirliği ayakta tutan şey de bu yüzden ortak kod değil, ortak disiplin: her pakette aynı tip güvenliği seviyesi, aynı PHPUnit alışkanlığı ve aynı PSR uyumu. Aile bir arada duruyor; aynı bağımlılığı paylaştığı için değil, aynı kurallarla yazıldığı için.

Ekosisteme giden yol

Koleksiyon dağınık paketler olmaktan çıkıp bakımı süren bir açık kaynak ekosistemine döndü. Ayrıntısı portfolyoda.

Diğer Kayıtlar

Tüm kayıtlar

Üretim veritabanına giden ad-hoc SQL'i onaya, maskelemeye ve değiştirilemez bir ize bağlayan self-hosted portal; QueryProxy ürününe dönüştü.

Şu an ne yapıyor

Geliştiricinin yazdığı SQL'i üretim veritabanında doğrudan değil, bir onaydan geçirerek çalıştırıyor; sonuçlar diske yazılırken maskeleniyor ve her istek değiştirilemez bir kayda düşüyor. Prod erişimi tek kişide toplanmış ekipler kurabilir.

Open-Source Web PHP Laravel Livewire +5 daha
Eylül 2026 — Eylül 2026

Herkese açık, ücretsiz okunan, metin merkezli öğrenme platformu; ders kitabı teorisiyle sektörde karşılaşılan problemleri tek ders akışında tutuyor.

Şu an ne yapıyor

Dersleri kayıt olmadan ücretsiz okunan bir öğrenme platformu olarak yayında: müfredat-kurs-konu-ders hiyerarşisi, tam metin arama ve ilerleme takibi çalışıyor; kurs sonu sınavı, doğrulanabilir sertifika ve çalışma asistanı Pro katmanda. Bilgisayar bilimleri müfredatını okumak isteyen herkes bugün kullanabilir.

Web Laravel PHP Livewire +6 daha
Ağustos 2026 — Eylül 2026

Kur'an okumak, anlamak ve öğrenmek isteyenler için açık ve ücretsiz bir kaynak; Kur'an ve hadis merkezli araştırmayı tek çatı altında topluyor.

Şu an ne yapıyor

Kur'an ve hadis metinlerini birlikte okumaya ve aramaya açık, ücretsiz bir kaynak olarak yayında; harf düzeyinde parmak izi eşlemesi hadis koleksiyonlarında %91–99 kapsam veriyor. Kaynağa doğrudan bakmak isteyen okuyucu ve araştırmacı bugün kullanabilir.

Web Laravel PHP Livewire +7 daha
Ağustos 2026 — Eylül 2026

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi