Kategori: Laravel

Laravel Model’de Json Column Kullanımı

Veri tabanları uzuncu bir süredir JSON formatını desteklemekte. Sizde takdir edersiniz ki Json kolonları kullanmak varchar vb. tipleri kullanmaktan biraz farklı. Json formatında key value şeklinde veri tutulabildiği gibi multiple (çok katmanlı) json'da tutalabiliyor.

Peki Json kolonu, Laravel Eloquent Model'leri ile nasıl kullanabiliriz ?
Aslında Laravel Eloquent'e Json tipli kolonları kullanmak pure MySql kodları ile kullanmaktan daha kolay

Laravel Elasticsearch

Selam dostlar, bu yazımda Laravelde Elasticsearch kullanımından bahsedeceğim.

Elasticsearch, Apache Lucene üzerinde geliştirilmiş açık kaynak kodlu, RESTful, dağıtılmış arama ve analitik altyapısıdır. Elasticsearch, yayımlandığı 2010 yılından itibaren en popüler arama altyapısı haline gelmiştir ve genellikle günlük analitiği, tam metin arama, güvenlik zekası, iş analitiği ve operasyonel zeka kullanım örnekleri için tercih edilmektedir.

Laravel SoftDelete and Foreign Key Cascade

Merhaba, bu yazımda soft delete ve foreign key ile birbirine bağlanan tablolarda cascade kullanımdan bahsedeceğim.

Delete işlemi veriyi, veri tabanından fiziksel olarak siler. Soft delete işleminde ise, veri yazılımsal olarak silinir. Tabloya deleted_at column'u eklenir. İnsert sırasında null bırakılan column, delete işlemi yapılırken zaman damgasıyla doldurulur. Bu sayede veri silme isteğini zamanıyla birlikte tutmuş oluruz. Deleted_at column dolu olan veri silinmiş sayılır ve sorgulara dahil edilmez.

Laravel/Lümen Middleware

Bu yazıda middleware konusundan bahsedeceğim. Middleware adından da anlaşılacağı üzere ara katman olarak kullanılan kod parçasıdır. Action çalışmadan önce yada sonra devreye girer. Diğer bir değişle, HTTP isteklerinin filtrelenmesi için kullanılır. Sayfayı görüntülemek isteyen kullanıcının login olup olmadığını bir middleware kontrol edip login işlemi gerçekleşmişse istek attığı sayfaya, login olmamışsa login sayfasına yönlendirebilirsiniz.

Laravel Cron

Bu yazıda Laravel’le yaptığınız bir uygulama da zamanlanmış görevlere ihtiyacınız olduğunda kullanılan bir teknikten bahsedeceğim. Diyelim ki saatte bir çalıştırmanız gereken bir kod blogunuz var. Linux sistemlerde Shell Script yazıp crontab’a ekleye bileceğiniz gibi bu işlemi Laravel’le de yapabilirsiniz. Lafı fazla uzatmadan başlayalım. İlk olarak işi yapacak command‘i oluşturalım. bunun için terminale aşağıdaki artisan komutunu yazın.

Laravel Queue (Kuyruk)

Laravel ile yapılan projelerde bazen işlemleri kuyruklamak gerekebiliyor. Yapılacak işlemin sonucunu response dönmek gerekmiyorsa ve requests olağandan fazla ise işlemleri kuyruklamak gelen tüm request'leri işleyebileceğiniz anlamına gelir. Bir yandan gelen request'leri kuyruğa atarsınız diğer bir yandan ise sıra ile işlersiniz. Veriyi işlemek için yazdığınız kodu (Worker) çoklu şekilde çalıştırarak veri işleme hızınızı da arrtırabilirsiniz.

Queue işlemi basitçe şöyle çalışıyor. bir Job oluşturuyorsunuz. yapılacak işlemleri redis queue atıyorsunuz. artisan work komutu ile queue ve Job'u belirterek verileri sırası ile işlemeye başlıyorsunuz.

Laravel’de kullanıcı işlemlerini loglamak

Laravel ile geliştirdiğiniz projenizde bazı işlemlerin log'lanmasına ihtiyaç duyabilirsiniz. Kayıt oluşturma, düzenleme, silme gibi işlemlerin hangi kullanıcı tarafından gerçekleştiğini bilmek önemli. Bu işlem için ben activityLog kütüphanesi kullanıyorum. Kullanımı oldukça basit olmasına karşın oldukça iş görüyor. Lafı fazla uzatmadan nasıl kullanıldığına geçmek istiyorum.

Laravel’de validasyon

Marhaba laravel'de bir kaç farklı validasyon yöntemi var. Bunlardan benim en çok kullandığım yöntem FormRequest ten türetilmiş, bir Request class'ı oluşturarak validaysonu bu class içerisinde yapmak. Böylelikle hem kod daha temiz ve okunaklı oluyor hem de daha sonra değişiklik yapmak kolaylaşıyor. Gelelim nasıl yapıldığına. Terminalden artisan kullanarak Request'imizi oluşturalım.