@teimur

Можно ли в laravel передавать объект из middleware в контроллер?

Я только изучаю laravel, и хочу делать все правильно без велосипедов.
Смотрите, при каждом запросе я создаю один объект $apiClient. И код получается громоздким.
А хотелось бы создавать его в middleware, и как-то передавать в контроллер.
Вот код который везде повторяется, и я хочу перенести его в middleware, а с нее получать уже созданный объект $apiClient. Как это сделать? Или скажите как правильно это вообще сделать, чтобы код не повторялся.
class PipelinesController extends Controller
{
    public function index(Request $request)
    {
        // От сюда
        $clientId = $request->bearerToken();
        $userData = UsersData::where('client_id', $clientId)->first();
        $amocrmTokens = $userData->amocrmTokens;

        $config = config('amocrm');
        $clientSecret = $config['clientSecret'];
        $redirectUri = $config['redirectUri'];
        $accessToken = new AccessToken([
            'access_token' => $amocrmTokens['access_token'],
            'refresh_token' => $amocrmTokens['refresh_token'],
            'expires' => $amocrmTokens['expires_in'],
        ]);
        $apiClient = new AmoCRMApiClient($clientId, $clientSecret, $redirectUri);
        $apiClient->setAccessToken($accessToken);
        $apiClient->setAccountBaseDomain($userData['referer']);

        //До сюда код повторяется в каждом запросе
        try {
            return $apiClient->pipelines()->get();
        } catch (AmoCRMApiException $e) {
            return $e;
        }
    }
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanes
@Sanes
Почитайте про биндинг модели. Похоже вам это надо.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы