По сути у автора это же и реализовано - все не найденые файлы заворачиваются на index.php
Только uri для dispatcher'а надо брать не из $_SERVER['REQUEST_URI']. а из $_GET['q'] и $_GET['q'] внутри приложения всегда получется занятым под роутер
В таком случае порядок действий будет следующий
1. добавить задачу в очередь на обработку визита (простой и быстрый insert в бд)
2. отправить пользователя по редиректу
3. в фоне обработчик очередей разбирает задачи из очереди и вносит записи в БД
Что делать если скрипт внезапно прервётся в процессе работы, например не хватило памяти, или перезагрузили сервер или сторонний процесс его убил? Получим вечный лок который надо идти снимать руками.
Антон Шаманов, оба варианта не покрывают задачу автора - так как нужно найти в PHP файлах данные которые впустую передаются во view-файлы.
Не знаю какого размера там legacy проект, но при должной сноровке и нормальном IDE делов не больше чем на день, если всё проверять вручную.
Евгений Матвеев, сайт любого партнёра не может чудесным образом без каких либо изменений в своём коде подключиться к вашему сервису.
Вам надо мыслить категориями что вы делаете очередную CPA-сеть, и партнёр должен у себя сделать интеграцию с вами.
Самый безболезненный вариант интеграции для партнёров - это если вы им предоставите свой JS-скрипт, который партнёр ставит на сайт и всё чудесным образом будет работать и трекаться (только конверсии).
Как минимум это позволит отслеживать факт заказа, но например такие вещи как "клиент отменил заказ" или "продавец отменил заказ" или "заказ успешно доставлен" возможно не получится отследить просто установкой js-кода.
Так же у такой схемы интеграции всегда будет уязвимость в том что возможно подделать уведомления о конверсиях и сл-но обмануть ваш сервис.
??