---
title: "tap() - дебаг без зміни ланцюжка"
url: https://laravelukraine.com/blog/tap-debag-bez-zmini-lanciuzka
date: 2026-08-31
---

# tap() - дебаг без зміни ланцюжка

Потрібно подивитися стан колекції в середині ланцюга?

`tap()` дозволяє "підглянути" в колекцію, не змінюючи її.

**Як працює:**

Callback отримує колекцію, але повернуте значення ігнорується.

**Сценарії:**

* Дебаг
* Логування
* Побічні ефекти

**Різниця з pipe():**

* pipe() використовує значення, яке повернув callback
* tap() ігнорує і продовжує з оригіналом

```php
$result = $users
  ->where('active', true)
  ->tap(fn($c) => logger("Active: {$c->count()}"))
  ->where('role', 'admin')
  ->tap(fn($c) => logger("Admins: {$c->count()}"))
  ->get();

// Порівняння
$collection->pipe(fn($c) => $c->count()); // повертає число
$collection->tap(fn($c) => $c->count()); // повертає колекцію
```
