Definitions
Definitions, form, filtre ve tag alanlarında kullanılan label/value çiftleri için ortak bir lookup sistemidir.
Saklama ve Yönetim
Definitions kayıtları veritabanında tutulur. Admin arayüzünden CRUD işlemi yapılamaz; yönetim seeder ve migration aracılığıyla gerçekleştirilir.
- Migration:
database/migrations/2026_03_12_001950_create_definitions_table.php - Seeder:
database/seeders/_02_DefinitionSeeder.php
Veritabanı Kolonları
definitions tablosu şu kolonlara sahiptir:
| Kolon | Tür | Notlar |
|---|---|---|
key |
string | indeksli; ilişkili definition'ları gruplar |
value |
string | saklanan değer |
label |
string | okunabilir görüntü etiketi |
explanation |
text | nullable; ek açıklama |
severity |
string | nullable; örn. info, warning, danger |
icon |
string | nullable; ikon tanımlayıcısı |
is_active |
boolean | varsayılan true |
order |
integer | varsayılan 0; sıralamayı belirler |
visibility |
boolean | varsayılan true |
lang |
string(35) | varsayılan en; i18n desteği sağlar |
(key, value, lang) üçlüsü üzerinde tekil kısıt uygulanır.
langneden 255 değil 35 karakter? Üç adet varsayılan 255 karakterlikutf8mb4kolon üzerindeki bileşik tekil indeks, InnoDB'nin 3072 baytlık anahtar sınırına karşı 3060 bayt ölçer — herhangi bir kolonda tek bir karakterlik pay kaldığı için tamamen kırılmaya bir adım uzaktadır.2026_08_31_120000_narrow_definitions_unique_index_columnsmigration'ılangkolonunu 35'e daraltır; bu, kitin herhangi bir yerde kabul ettiği en geniş locale değeridir (content_languages.code) ve ~892 baytlık pay bırakır.keyvevalueyayınlanmış 255 genişliğini korur. Migration önce mevcut tüm satırları ölçer — soft-delete edilmiş olanlar dahil — ve tek bir satır bile kırpılacaksa şemayı hiç değiştirmeden reddeder. Her iki yön de tekil indeksin varlığını doğrulayarak biter (isim, tekillik ve tam olarak{key, value, lang}kolon kümesi); böylece indeksi kaymış veya eksik gelen bir tablo, garantisi olmadan "migrate edildi" diye kaydedilmek yerine gerçek indeksi yeniden kurar. Bkz. UPGRADE.tr.md.
Erişim Noktaları
- web service route:
/definitions - API route:
/api/v1/definitions - frontend composable:
useDefinition()
Frontend Faydaları
Definitions sayesinde:
- select seçenekleri kolay üretilir
- status tag'leri tutarlı render edilir
- aynı anlam farklı sayfa ve modüllerde ortak şekilde kullanılır
Yaygın Metotlar
useDefinition() içinden:
load(keys)loadAll()list(key)options(key)find(key, value)clearCache()