İç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 Ürün oldu

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

Framework'e bağlanmadan çalışan modüler PHP kütüphaneleri; 39 paketlik InitPHP ekosistemine ve Framework3'e dönüştü.

Şu an ne yapıyor

39 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

Açık kaynak

Teknolojiler

PHP Composer PHPUnit

Bu iş ürüne dönüştü:

InitPHP

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.

39 paket ve üstündeki çatı

39 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.

Etiketler: #php#kutuphane#acik-kaynak
Paylaş:
Uzmanlık: PHP Geliştirici

Diğer Kayıtlar

Tüm kayıtlar

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

Şu an ne yapıyor

Ücretsiz ve kayıt duvarı olmayan bir öğrenme platformu olarak yayında: alan-müfredat-kurs-ünite-ders hiyerarşisi, tam metin arama, ilerleme takibi ve doğrulanabilir sertifika çalışıyor. Bilgisayar bilimleri müfredatını okumak isteyen herkes bugün kullanabilir.

Web uygulaması Laravel PHP Livewire +6 daha
Ağustos 2026 — Devam ediyor

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 uygulaması Laravel PHP Livewire +7 daha
Ağustos 2026 — Devam ediyor

Kaydırmalı doğru/yanlış bilgi yarışması; asıl mesele oyun değil, istemcinin ürettiği skoru imzayla doğrulanabilir kılmak.

Şu an ne yapıyor

Kaydırmalı doğru/yanlış bilgi yarışması bir mobil uygulama olarak çekirdek döngüsüyle uçtan uca çalışıyor; skoru istemci üretse de server_nonce ve HMAC imzasıyla sunucu tarafında doğrulanıyor. swipenor.com uygulamanın tanıtım sayfasıdır, oyunun kendisi değil.

Mobil uygulama Laravel PHP PostgreSQL +6 daha
Temmuz 2026 — Devam ediyor

Sitede Ara

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

Esc ile kapat Pagefind ile güçlendirildi