Selamlar değerli 1yz topluluğu ve forum geliştiricileri,
XenForo’nun arka planda çalışan o devasa ve karmaşık yapısını hepimiz biliyoruz. 2026 yılındayız ve toplulukları o eski, hantal görünümlerden kurtarıp Flarum sadeliğinde veya Vercel hızında modern platformlara dönüştürmeye çalışıyoruz. Ancak iş, bu modern arayüzleri destekleyecek özel eklentiler (add-on) yazmaya geldiğinde, yapay zekayı standart bir şekilde kullanmak adeta ayağımıza sıkmak oluyor.
ChatGPT veya Gemini’a sadece “XenForo için şu eklentiyi yaz” derseniz, size XenForo’nun kendi Entity sistemini, Router yapısını ve Controller mantığını tamamen hiçe sayan, saf ve güvensiz bir PHP spagettisi sunar. Bu tür eklentiler veritabanını yorar, “N+1” sorgu krizleri yaratır ve Google’ın Core Web Vitals (Önemli Web Verileri) metriklerinde sitenizi dibe çeker. SEO performansınızı koruyan, E-E-A-T standartlarına uygun ve sistemi yormayan eklentiler geliştirmek için yapay zekayı bir “XenForo Çekirdek Mühendisi” gibi yönlendirmelisiniz.
İşte sıfırdan güvenli, optimize ve kusursuz XenForo eklentileri (Add-on) geliştirmenizi sağlayacak 7 ileri seviye prompt şablonu.
—
⚙️ XenForo Geliştiricileri İçin 7 Master Prompt
1. Eklenti İskeleti ve MVC Mimari Kurgusu
“Sen 10 yıllık XenForo 2.x eklenti (add-on) geliştirme tecrübesine sahip kıdemli bir yazılım mimarısın. Amacım [Eklentinin Amacı, Örn: Üyelerin kripto cüzdanlarını profillerine ekleyebileceği bir sistem] geliştirmek. Eklenti ID’m OyzTech/CryptoProfile. Bana hiçbir kod yazdırmadan önce, bu eklentinin Setup.php dosyasından başlayarak Controller, Entity, Repository ve Template (Şablon) mimarisini hiyerarşik olarak listele. Hangi dosyanın XenForo MVC yapısında tam olarak ne görev üstleneceğini tek cümleyle özetle.”
2. XenForo Entity ve Finder Sistemi (Veritabanı Şampiyonu)
“Veritabanına [Tablo Adı] adında yeni bir tablo ekledim. Bu tablo için standart SQL sorguları veya düz PDO KESİNLİKLE kullanma. Bana XenForo’nun yerel ‘Entity’ sınıfını (XF\Mvc\Entity\Entity) genişleten (extend) kusursuz bir yapı yaz. getStructure fonksiyonu içinde kolon veri tiplerini (INT, STR), ilişkileri (Relations - örneğin XF:User tablosuna bağlantı) ve varsayılan değerleri eksiksiz tanımla. Ardından, veritabanını yormayacak şekilde finder() kullanarak bu tablodan veri çeken örnek bir Repository fonksiyonu göster.”
3. Güvenlik Odaklı Controller ve CSRF Koruması
“Kullanıcıların frontend üzerinden bir form doldurarak [Eylem, Örn: Yeni bir makale göndermesi] işlemini yakalayan bir Controller aksiyonu (actionSave) yaz. Kod, güvenliği en üst düzeyde tutmalı. Ziyaretçinin giriş yapıp yapmadığını assertRegistrationRequired() ile kontrol et. Formdan gelen verileri filter() metoduyla (örn: ‘str’, ‘uint’) temizle. CSRF saldırılarına karşı işlemi güvence altına al ve işlem başarılı olursa kullanıcıyı temiz bir yönlendirme (redirect) ile geri gönder.”
4. Template Modification (Şablon Modifikasyonu) ve Makrolar
“XenForo’nun varsayılan thread_view şablonuna, ilk mesajın hemen altına eklentimin ürettiği [Özel Çıktı] verisini eklemek istiyorum. Bunu yapmak için doğrudan şablonu bozmak yerine, bana Template Modification (Şablon Değişikliği) için gerekli olan ‘Bul (Find)’ ve ‘Değiştir (Replace)’ kurallarını RegEx kullanarak yaz. Ayrıca, eklentimin kendi şablon dosyasında (template) çağrılacak temiz, parametre alabilen bir <xf:macro> yapısı oluştur.”
5. Performans Dostu Job (Cron) Sistemi
“Eklentimde, her gece saat 03:00′te çalışarak [İşlem, Örn: 30 günden eski log kayıtlarını silen] arka plan bir görevine ihtiyacım var. Sunucuyu ve PHP limitlerini (timeout) kilitlememek için işlemi küçük parçalara (batch) bölen, XenForo’nun AbstractJob sınıfını kullanan bir Job (Görev) kodu yaz. run() metodu içinde döngüyü nasıl güvenli bir şekilde yöneteceğini (resume mantığı) satır içi açıklamalarla detaylandır.”
6. Admin CP Options (Seçenekler) ve İzinler (Permissions)
“Bu eklentinin Admin Kontrol Paneli’nden (Admin CP) yönetilebilmesi için 3 farklı ayara (Option) ihtiyacım var: Bir aç/kapat anahtarı (toggle), bir metin kutusu ve çoklu seçim (multi-select) alanı. Bu seçeneklerin addon.json veya kurulum dosyasında (Setup.php) nasıl tanımlanacağını göster. Ayrıca belirli kullanıcı gruplarının bu eklentiyi kullanabilmesi için Node (Kategori) bazlı bir izin (Permission) yapısının çekirdek kodlarını oluştur.”
7. Modern API Uç Noktası (Headless Yaklaşım)
“Forumumu ileride Vercel tarzı bir Next.js frontend’e taşımak (headless) veya mobil uygulama ile haberleştirmek isteyebilirim. Eklentimdeki verileri JSON formatında dışarı aktarmak için XenForo REST API sistemine entegre olan yepyeni bir API Endpoint (Uç Nokta) sınıfı (XF\Api\Controller\...) yaz. Bu uç noktanın sadece yetkili API anahtarlarına (API Key) yanıt verdiğinden ve veri formatının hiyerarşik açıdan temiz olduğundan emin ol.”
—
💡 Geliştirici Günlüğü: AI Footprint’i Silmek ve Kod Güvenliği
Yapay zekanın ürettiği XenForo eklenti kodlarını doğrudan üretim ortamına (production) almak ciddi bir risktir. O kusursuz görünen kodların arkasındaki “robotik” izleri silmek ve sisteminizi korumak için şu kuralları es geçmeyin:
Ollama ile Yerel Çalışın: Eklentilerinizde projenizin gizli mimarisini, özel veritabanı tablo isimlerini veya üye ilişki haritalarını bulut tabanlı API’lere teslim etmeyin. LM Studio veya Ollama üzerinden Llama 3 gibi modelleri bilgisayarınızda çalıştırarak kod analizlerinizi çevrimdışı ve %100 gizlilikle yapın.
İsimlendirme Pürüzleri: Yapay zeka eklenti ön eklerini genellikle $customData veya $result gibi sığ bırakır. Kendi ajansınıza veya forum markanıza özel, kimsenin aklına gelmeyecek benzersiz prefixler (ön ekler) kullanın (Örn: $oyzTech_AI_Data). Bu, eklentinin tamamen insan elinden çıkmış organik yapısını güçlendirir.
Kendi Hata Mesajlarınızı Yazın: AI’ın yazdığı “Bir hata oluştu, lütfen tekrar deneyin” (Oops! We ran into some problems.) gibi klasik XenForo phrase (dil dizesi) kalıplarını kasten bozun. Kendi topluluğunuzun jargonuna uygun, daha samimi veya eğlenceli hata mesajları ekleyerek o mekanik dokuyu parçalayın.
Kodlarınız temiz, sunucu yanıt süreleriniz daima düşük olsun.