Kategori: Laravel

Laravel Routes Group

Selam Laravel dostları. Laravel'in bize sunduğu güzelliklerden biriside gelişmiş Routes yapısı. Laravel standart olarak web ve api olmak üzere iki group halinde yükleniyor. Laravel bizlere web ve api gibi routes group katmanı ekleme şansıda tanıyor.

Birkaç projede bu imkanı değerlendirmiş ve URL'leri ayırmak için api içinde gorup açmak yerine api gibi bir group açmıştım. Bu özellik bize, daha okunaklı URL'ler hazırlamak ve Custom Token gibi middleware işlemlerini yönetmek daha kolay ve anlaşılır bir hal alıyor. Birazda clean code konusunda yardımcı oluyor.

Laravel Macro

Selamlar, hiç dahili Laravel bileşenlerinde olmayan bir methodun eksikliğini hissettiniz mi ? O zaman sizi Makrolarla tanıştıralım :-) Makrolar, dahili Laravel bileşenlerine özel işlevler eklemenize olanak tanır.

Bir örnekle konuya giriş yapalım. Mesela Laravel'in Illuminate\Http\Request bileşenini kullanıyorsunuz ve $request->all() kullanarak client tarafından gelen verileri alıyorsunuz. Peki bu verileri tree object olarak almak istersek ?

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.