Laravel Nova ve Özellikleri

ertaç güngör
ClevelTeam
Published in
2 min readOct 31, 2019

Laravel Nova, Laravel’in arkasındaki ekip tarafından tasarlanan Vue.js ve Tailwind üzerine kurulu single-page bir yönetim paneli uygulamasıdır.

Nova, Composer aracılığıyla Laravel paketi olarak kurulur. Mevcut uygulamanıza hiçbir şekilde müdahale etmez.

Nova front-end’ te Vue.js, Vue Router ve Tailwind.css tarafından desteklenmektedir. Bu, özellikle kişiselleştirme açısından güçlü ve esnek bir kombinasyon oluşturur — özel araçlar (custom tools), kartlar (cards) ve alanlar (fields) oluşturmak çok kolaydır.

Uygulamanızdaki her Eloquent modeli, alanlarını, işlemlerini, filtrelerini, lenslerini ve kartlarını tanımlayan ilgili bir Nova resource sınıfına sahiptir.

Nova’nın en önemli ve başlıca özelliği veritabanınızdaki verileri oluşturma, güncelleme, silme ve okuma yeteneğidir. Ayrıca Nova’nın Eloquent ilişki yapısı oldukça kuvvetlidir. Örneğin polimorfik (polymorphic) bir çoktan çoğa (many-to-many) ilişkinin “ara / pivot” (intermediate / pivot) tablosundaki verileri güncellemek, güçlü ilişki yapısı sayesinde oldukça kolaydır.

Her resource’ un kendine ait bir class’ ı bulunmaktadır. Ayrıca her resource’ un bir liste sayfası, bir ayrıntı sayfası ve bir düzenleme / yaratma sayfası vardır. Varsayılan olarak, Nova resource aramak için SQL sorguları kullanır; Ancak, uygulamanız Laravel Scout’u kullanıyorsa, Laravel Nova, Scout aramalarını kullanmayı tercih ederek size gerçek bir arama motorunun tam gücünü verir.

Nova’ nın özellikleri :

Actions

Action’ lar her resource’ un veya resource’ ların toplu işlenişinde belirli bir görevi yerine getiren PHP sınıflarıdır. Her action, gelen tüm action alanlarını ve model koleksiyonunu içine alan bir handle metodu içerir.

Filtreler

Filtreler, kaynak dizin sorgularınızı kapsayan PHP sınıflarını tanımlamanıza izin verir ve UI aracılığıyla etkinleştirilebilir / devre dışı bırakılabilir.

Lensler (Lenses)

Lensler, belirli bir resource’ u görüntülemek için tamamen farklı bir yaklaşım geliştirmenizi sağlar. Örneğin, bir “Kullanıcı” kaynağında, kullanıcıları ve toplam ömür boyu alımlarını görüntüleyen, en fazla geliri elde eden kullanıcılar tarafından sıralanmış “En Değerli Kullanıcılar” lense sahip olabilir. Bir lens sınıfında, temel Eloquent sorgusunun yapımı üzerinde tam denetime sahipsinizdir.

Metrics

Nova, uygulamanız için özel ölçümleri hızlıca görüntülemenizi ve saniyeler içinde üç tür grafik oluşturmanızı sağlar. Bu 3 tür grafil modeli : value, trend ve partition olarak adlandırılır.

Authorization

Nova, Laravel’in politika yetkilendirme sistemi ile entegre çalışmaktadır. İyi bir geliştirme deneyimi yaratmak için zaten aşina olduğumuz Laravel’in özelliklerinden yararlanmaktadır. Resource’ leri kimin görüntüleyebileceği, yaratabileceği, güncelleyebileceği veya silebileceği konusunda ayrıntılı kontrolü bizdedir. Eloquent modelinin uygun bir politikası varsa, Nova otomatik olarak resource işlemlerini yetkilendirmek için kullanır.

Ek olarak, ilişkileri başka resource’ leri kimin ekleyebileceğini de tam olarak kontrol edebilirsiniz.

Özelleştirme (Customization)

Nova’nın kullanıcı arayüzünün hemen hemen tümü, single-file Vue bileşenleri kullanılarak tamamen Vue’da oluşturulmuştur. Bu nedenle, Nova için kendi özel araçlarınızı, kartlarınızı ve alanlarınızı yazarken en üst düzeyde esnekliğe sahipsiniz.

Her araç bir “Tool.vue” bileşeni içerir. Axios işlemlerinizi back-end Laravel uygulamanızda yapabilirsiniz.

Özel kartlar, tamamen kişiselleştirme özgürlüğünüz olan bir Card.vue bileşeni içerir.

Özel alanlar üç Vue bileşeni içerir: biri dizin ekranları, biri ayrıntı ekranları ve biri formlar içindir.

Vue.js ve Laravel’in gücünü kullanarak, hayalinizin ötesinde uygulamalar gerçekleştirebilirsiniz.

--

--