Tap, Tap, Tap - Laravel

Tap, Tap, Tap – Laravel

Merhaba arkadaşlar bu makalede Laravel’de helper fonksiyonlarından tap’i anlatacağım.

Öncelikle Taylor Otwell’in de dediği gibi “Tap, Tap, Tap” 🙂

Taylor “tap” için favorilerimden biridir der. tap fonksiyonunu Ruby’den esinlenmiş.

Evet gördüğünüz gibi tap fonksiyonun mantığı yukarıda ki kod satırlarından ibaret 🙂

Mesela user’ı kaydetmek istediğimizde kullandığımız create metodunu kullanırız örneğin; User::create($userAttributes); gibi.. arka planda çalışan metod aşağıda ki gibidir.

Örnekte’de olduğu gibi yeni bir eloquent modelin instance’sini / örneğini alır, DB’ye kayıt eder ve model’in almış olduğu instance’sini döndürür. Sizi bir kaç kod satırından ve geçici değişken tanımlamaktan kurtarır. Kod okunabilirliğini sağlar. Eğer create metodu içerisinde “tap” kullanılmasaydı muhtemelen kodumuz şöyle olurdu;

Konunun anlaşılması için bir örnek daha..

Koda dikkat ettiniz mi? Normal olarak Eloquent Modelinde “update” metodu boolean döndürür fakat “tap” ile user modelinin dönmesini sağladık.

Tap in Laravel Collection

Laravel 5.4’de collectionlara tap eklendi. Mesela ben collectionlar ile çalışırken debug işlemlerinde tap kullanıyorum. Örneğin;

Bir hatırlatmakta yapmakta faydar var. “tap” ile “pipe” benzer işleri yapsalarda aralarında önemli bir farklılık var. “tap” ile collection içerisinde ki dataya erişsenizde collection üzerinde değişiklik yapamazsınız. “pipe” ise değişiklik yapabilirsiniz. Bir örnek ile açıklamak gerekirse;

Yukarıda ki kod satırlarını debug ettiğinizde tap’in modifiye etmediğini pipe’nin ise ettiğini göreceksiniz. Çıktı ise şu şekilde olacaktır.

Adam Wathan’ın twitter’da paylaştığı bir görseli buraya bırakayım.

Bu şekilde kullanım alanlarını çoğaltmak mümkün 🙂 Benimde sevdiğim ve kullandığım yardımcı fonksiyonlardan biri olduğu için blogumda paylaşmak istedim.

Sevgiler..