Skip to content

y-packages/divan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YakNet Divan 🌹 (Şairane Hata Yönetim Kütüphanesi)

PHP Version Aesthetics AI Powered

YakNet Divan, geleneksel PHP hata sayfalarının o soğuk, ürkütücü ve ruhsuz yapısından sıkılan yazılımcılar için geliştirilmiş, PHP hatalarını ve istisnalarını (exceptions) derin, duygusal ve kimi zaman da eğlenceli Türkçe şiirlerle (gazel, rubai veya serbest nazım) süsleyip sunan premium bir hata yönetim kütüphanesidir.

✍️ Şairane Ekosistem Terimleri

Kütüphanemiz, tüm teknik hata bileşenlerini edebiyat dünyasından terimlerle eşleştirir:

  • Dosya (File) ➔ Şiir: Her kod dosyası dergahımızda yazılmış birer şiirdir (örn: index.php Şiiri).
  • Satır (Line) ➔ Mısra: Hatanın gerçekleştiği satır, şiirin hırpalanmış bir mısrasıdır (örn: 45. Mısra).
  • Hata Satırı ➔ Kırık Mısra: Hatanın tam gerçekleştiği satır arayüzümüzde kırmızı güller ve hat çizgileriyle sarılmış "Kırık Mısra" olarak adlandırılır.

"Ey fani, 'index.php' şiirinin 45. mısrasında dertli bir duraksama husule geldi..."


🚀 Öne Çıkan Özellikler

  • 🧠 Divan Poet Brain (Gemini AI): Gemini API (gemini-2.5-flash modeli) aracılığıyla, gerçekleşen hatanın sınıfına, mesajına, dosyasına (şiirine) ve satırına (mısrasına) göre tamamen özelleştirilmiş, sanatsal quatrainler (kıtalar) üretir.
  • 📚 Zengin Çevrimdışı Şiir Kitaplığı: Gemini API anahtarı veya internet bağlantısı olmadığında devreye giren; Division by Zero, Parse Error, Type Error, PDOException (Veritabanı hasreti) gibi birçok yaygın hata türü için özel olarak kaleme alınmış şairane şiir fallbacks sistemi.
  • 🌹 Gül Yapraklı Glassmorphism Arayüzü: Koyu mor, derin gece gökyüzü temalı ve yıldızlı arka plan üzerinde, CSS animasyonlarıyla süzülen gül yaprakları ve klasik hat sanatından ilham alan premium bir sayfa tasarımı.
  • ⚙️ Whoops (uhoox) Entegrasyonu: Projelerinde Whoops kullanan yazılımcılar için tek adımda şairane hata sayfasına ve istendiğinde tek tıkla standart Whoops teknik sayfasına geçiş sağlayan çift yönlü Handler.

📦 Kurulum

Composer ile kütüphaneyi projenize dahil edin:

composer require yaknet/divan

🛠️ Kullanım Şekilleri

1. Bağımsız (Standalone) Kullanım

Projenizin giriş noktasında (örn: index.php veya bootstrap.php) Divan hata yöneticisini kaydetmeniz yeterlidir:

use YakNet\Divan\Core\Divan;

// Divan'ı başlat
Divan::register([
    'gemini_api_key' => $_ENV['GEMINI_API_KEY'] ?? '', // AI şiirleri için isteğe bağlı
    'active' => true // .env'den okumak için belirtmeyebilirsiniz
]);

2. Whoops (uhoox) ile Entegre Kullanım

Eğer uygulamanızda filp/whoops kullanıyorsanız, Divan'ı Whoops'a bir Handler olarak ekleyebilirsiniz:

use Whoops\Run;
use Whoops\Handler\PrettyPageHandler;
use YakNet\Divan\Whoops\DivanHandler;

$whoops = new Run;

// 1. Şairane Divan Handler'ı ekle
$whoops->pushHandler(new DivanHandler([
    'gemini_api_key' => $_ENV['GEMINI_API_KEY'] ?? ''
]));

// 2. Teknik Whoops Handler'ını ekle (Toggled fallback)
$whoops->pushHandler(new PrettyPageHandler);

$whoops->register();

Bu sayede, .env dosyasındaki durumuna göre hatalar şairane sayfa ile gösterilir. Şairane hata sayfasındaki "Standart Detaylı Hata Sayfasına (Whoops) Git" butonuna basıldığında teknik Whoops ekranı saniyeler içinde karşınıza gelir.


⚙️ Çevresel Ayarlar (.env)

Projenizin kök dizinindeki .env dosyasında şu değişkenleri tanımlayabilirsiniz:

# Gemini API Anahtarı (Canlı şiir üretimi için)
GEMINI_API_KEY=AIzaSy...

# Şairane hataları açıp kapatmak için (true/false)
POETIC_ERRORS=true
  • POETIC_ERRORS=true ise: Hatalar göz kamaştırıcı Divan şiirleriyle süslenir.
  • POETIC_ERRORS=false ise: Divan sessizce arka plana çekilir ve projenizdeki standart hata yöneticileri (Whoops vb.) devreye girer.

🛡️ Sentinel ile Uyum Entegrasyonu

YakNet Sentinel kullanan projelerde, Sentinel arayüzünde şairane açıklama almak veya doğrudan Divan şablonunu kullanmak için Sentinel'e Divan desteğini entegre edebilirsiniz. Sentinel'in templates/error_page.php şablonu veya hata yakalayıcısı Divan kurulu olduğunda bunu tespit ederek zenginleştirilmiş çıktılar sunacaktır.


📜 Lisans

Bu proje YakNet Bilişim tarafından geliştirilmiştir ve MIT Lisansı ile korunmaktadır. "Hataları dert etmeyin, bir taksim dinleyip şiir okuyun." 🌹

About

📜 A poetic and aesthetic error handling library for PHP that transforms exceptions into Classical Turkish poetry using AI, rich UI petals, and relaxing background tracks.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages