@konchychp
fullstack developer; founder of IT solution

Как избавится от повторений в коде Laravel 8?

Подскажите, как правильно избавиться от повторений вот такого вот кода в каждой функции могу контроллера?

public function home(Request $request)
{
    $agent = new Agent();
    $device = $agent->device();
    $viewer = New Viewers();
    $ip = $request->ip();
    $data = Location::get($ip);

    $viewer->request_uri = $request->getRequestUri();
    $viewer->ip_address = $ip;
    $viewer->country = $data->countryName;
    $viewer->city = $data->cityName;
    if($agent->isMobile()){
        $phone = $agent->isPhone();
        $viewer->device = $agent->platform();
    } else if($agent->isTablet()) {
        $viewer->device = $agent->device();
    } else if($agent->isRobot()) {
        $robot = $agent->robot();
        $viewer->device = $robot;
    } else {
        $platform = $agent->platform();
        $viewer->device = $platform;
    }

    $viewer->save();

   }

Вот эта часть будет повторяться в каждой функции - а это уже слишком большое загромождение кода.
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Логирование данных запроса — это работа для middleware.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы