Whitepaper'daki söz buydu: #[CpResource] anotasyonu bir iş kaydını platformun tüm güçleriyle birleştirir. Artık otomatik yönetim paneli de bu sözün parçası.
İki attribute
#[CpResource] kaydı platforma tanıtır (yetenekler, denetim, çoklu kiracı, iş akışı). Yeni #[CpField] özellik attribute'u ise sunum meta verisidir: etiket, listede görünsün mü, formda görünsün mü, sıralanabilir mi, widget türü.
Alan çözümleme
ResourceFieldResolver, Doctrine ClassMetadata ile #[CpField]'i birleştirip alan tanımlayıcıları üretir. İsimden dolayı reddedilenler: password, token, secret, hash, roles, data, tenant_id — bu kolonlar asla arayüze çıkmaz. Doctrine 3'te FieldMapping artık nesnedir; çözümleyici özellik erişimi kullanır.
Form = katı allowlist
ResourceFormBuilder yalnızca izin verilen alanlardan Symfony formu kurar (Manifesto Yasa 5.3). id ve zaman damgaları salt-okunur; enum kolonları otomatik seçim listesine döner.
Denetleyici
/aacp/resources altında: arama / sıralama / sayfalama içeren liste, yeni ve düzenle (iş akışı geçiş düğmeleri + denetim geçmişi ile), kaydet, sil (entity #[SoftDeletable] ise yumuşak silme), transition. Her aksiyon {name}.{cap} ile korunur, TenantFilter otomatiktir.
Projede henüz isimli bir #[CpResource] yok — bu tamamen çerçeve makinesidir. Bir modül vehicle ya da invoice entity'si eklediğinde yönetim paneli bedava gelir.
Yorumlar (0)
Henüz yorum yok. İlk yorumu sen yaz.
Yorum yaz
Yorumunuz yayınlanmadan önce incelenecektir.