hasirciogluhq / fframework
Lightweight PHP framework: HTTP routing, views, config, and PDO-friendly database helpers.
Requires
- php: ^8.1
- ext-pdo: *
- phpmailer/phpmailer: ^6.6
Requires (Dev)
- phpunit/phpunit: ^13.1
This package is not auto-updated.
Last update: 2026-05-09 00:37:18 UTC
README
FFramework · hafif PHP çatısı · routing · views · genişletilebilir çekirdek
Özet
FFramework, web uygulamaları için sade bir PHP iskeleti sunar: yönlendirme, görünüm katmanı, yapılandırma ve veritabanı gibi parçalar tek bir çizgide tutulur. Amaç; gereksiz süslerden kaçınıp okunabilir, hızlı bir başlangıç noktası vermektir.
Görsel dil: koyu zemin, kırmızı vurgu, katmanlı derinlik — depo kökündeki karşılama sayfası (
test-app) ile aynı çizgi.
Özellikler
| Alan | Açıklama |
|---|---|
| Routing | Grup, parametre, Request ile uyumlu handler imzaları |
| Views | Derlenen şablonlar, test-app/resources/views altında örnek arayüz |
| HTTP | Request üzerinde sorgu, gövde ve route parametreleri |
| Veritabanı | PDO tabanlı FFramework\Database\DB (bkz. src/database/DB.php) |
| Test altyapısı | phpunit/phpunit (dev bağımlılık) |
Gereksinimler
- PHP 8.1+
ext-pdo(Composerrequireiçinde belirtilir)
Kurulum
Mevcut projeye paket olarak (önerilen)
Packagist üzerinde paket adı: hasirciogluhq/fframework. GitHub organizasyonu / repo adı farklıysa composer.json içindeki name alanını buna göre güncelle. Depoyu Packagist’e Submit ile ekledikten sonra:
composer require hasirciogluhq/fframework
Sonra kendi uygulamanızda vendor/autoload.php yükleyip ROOT_PATH (uygulama kökü), routes/, resources/views, storage/cache/views gibi dizinleri tanımlayın; örnek akış için aşağıdaki test-app giriş dosyasına bakın.
Bu depoyu klonlayarak (geliştirme / örnek uygulama)
git clone https://github.com/hasirciogluhq/fframework.git
cd fframework
composer install
Örnek uygulama: test-app/public/index.php → vendor üst dizinde (../vendor/autoload.php).
Yerel sunucu:
cd test-app
php -S localhost:8000 -t public public/index.php
Paket doğrulama
composer validate --strict
Üretim hazırlığı (özet değerlendirme)
| Konu | Durum | Not |
|---|---|---|
| Çekirdek HTTP / routing | Kısmen | İstek yaşam döngüsü çalışır; hata yanıtları JSON içinde dosya/satır dökebilir — prod’da DEBUG=false ve özel 500 handler şart. |
| Hata gösterimi | Dikkat | Kernel prod’da display_errors kapalı; yine de yakalanan istisnaların içeriği log’a ayrı yazılmalı, kullanıcıya genel mesaj verilmeli. |
Veritabanı (DB) |
Riskli | configs_db_* sabitleri tanımlı değilse sınıf yüklemesi hata verir; bağlantı hatasında die() kullanılıyor. Üretim için env tabanlı yapılandırma ve istisna yönetimi gerekir. |
| Oturum | Bilinçli seçim | Her Request ile session_start() — API-only projelerde kapatılmalı veya lazy olmalı. |
| Güvenlik başlıkları / CSRF / rate limit | Yok | Uygulama katmanında veya ters proxy (nginx) ile eklenmeli. |
| Yayınlama | Standart | Web kökü yalnızca public/; storage yazılabilir, kod kökü dışarı açılmamalı. |
Sonuç: Kütüphane / iskelet olarak erken aşama; üretim öncesi yukarıdaki maddeler netleştirilmeden “tam hazır” sayılmamalı.
Proje yapısı (özet)
src/ # FFramework\ — çekirdek paket
test-app/ # Örnek uygulama ve karşılama sayfası
docs/assets/ # README banner (SVG)
Dokümantasyon & iletişim
- API / doküman: yakında — şimdilik kaynak kod ve
test-appörnekleri ana referans. - E-posta: mhasirciogli@gmail.com
- Sosyal: Instagram · Facebook · Twitter/X · Discord
Yasal (örnek uygulama route’ları)
Örnek test-app içinde tanımlıysa: /policy?page=privacy · /policy?page=use · /policy?page=cookie
Katkı
- Depoyu fork’la
- Dal aç (
feat/…/fix/…) - Değişiklikleri gönder (pull request)
FFramework™ · © benzeri tüm haklar saklıdır