MegaforBB’de eklentiler, çekirdeğe dokunmadan yeni özellik eklemenizi sağlar. Bu yazıda bir eklentinin temel parçalarını ve dikkat edilecek noktaları özetliyoruz.
Klasör yapısı
Her eklenti Inc/Plugin/EklentiAdi klasöründe yaşar. Küçük bir eklenti şunlardan oluşabilir:
plugin.json: ad, sürüm, açıklamaplugin.php: bağlanılacak olay, eylem ve filtrelerroutes.php: adresler ve denetleyicilerinstall.php/uninstall.php: kurulum ve kaldırma adımlarıControllers,Models,Services,views,lang
Filtrelerle entegrasyon
Yönetim menüsüne öğe eklemek, site aramasına kaynak tanıtmak ya da üye profiline sekme eklemek için ilgili filtrelere bağlanırsınız. Çeviri satırlarını da bir filtreyle eklersiniz; Türkçe ve İngilizce dosyaları aynı anahtarlarla tutun.
Görünümler
Eklentinin Twig şablonları, eklenti adıyla bir ad alanı kazanır (ör. @Blog/frontend/index). Tema değişkenlerini kullanırsanız eklentiniz her temada uyumlu görünür.
Veritabanı
Tabloları, tekrar çalıştırılabilir (idempotent) bir migrasyon dosyasıyla oluşturun; eski migrasyonları değiştirmeyin, yeni bir dosya ekleyin. Migrasyonlar hata fırlatmamalı: mevcut kurulumları bozmak yerine sessizce atlamalı.
Küçük ama önemli ayrıntılar
- Eklenti modellerinde, Eloquent’in kendi metot adlarını (ör.
on) ezmeyin. - Kullanıcıdan gelen HTML’i her zaman temizleyin; yorumları ve metinleri kaçışlayın.
- CSS ve JS dosyalarını uzantısız, önbelleklenebilir bir adresten sunmak bazı sunucularda (nginx) sorunu önler.
- Eklentinizi kapatılabilir ve kaldırıldığında veriyi silmeyecek biçimde tasarlayın.
You might also like
Comments (0)
Be the first to comment.
