Proje: Okul Platform · Hub: Okul Platform — Conventions
Presenter Nedir?
sofa/revisionable paketi için human-readable audit log gösterimi.
app/Models/Presenters/ dizininde her model için bir presenter.
Presenter Yapısı
class School extends Presenter
{
protected $labels = [
'name' => 'Okul İsmi', // Field → Türkçe label
'school_type_id' => 'Okul Türü',
];
protected $passThrough = [
'school_type_id' => 'type.name', // ID → İlişki adı
'customer_id' => 'customer.name',
];
}Mevcut Presenter’lar (app/Models/Presenters/)
School— Okul değişiklikleriLead— Lead değişiklikleriArticle— Makale değişiklikleriSchoolComment— Okul yorum değişiklikleriSchoolNote— Okul notu değişiklikleriMedia— Medya değişiklikleriCustomerScore— Müşteri skoru değişiklikleriSchoolInteraction— Etkileşim değişiklikleriSchoolFee— Ücret değişiklikleriSchoolProductPrice— Okul ürün fiyatıCreditCardPayment— Kredi kartı ödemeUserDetail— Kullanıcı detaySchoolFeatureName— Okul özellik adıLocation— Lokasyon
Model Tanımı
Her revisionable model’de:
public string $revisionPresenter = Presenters\School::class;RevisionObserver
Değişiklik kaydedilirken sadece değişen field’lar saklanır (JSON).
app/Models/Revision.php — Custom Revision modeli.
Related
- api-observer-pattern — RevisionObserver detayları
- api-domain-model — Revisionable modeller listesi