Search code examples
phplaravelapilaravel-5service-provider

Best location in Laravel for third-party API connection


I'm writing a Laravel application using one or more third-party APIs when it suddenly dawned on me. Where is the best place within the Laravel application structure to set up the API connection to consume it from my Controller? Would you use a Service or put the logic somewhere else?

$this->api = new RestApi();
    ->setUrl(getenv('API_REST_URL'))
    ->setUsername(getenv('API_USERNAME'))
    ->setPassword(getenv('API_PASSWORD'))
    ->connect();

Solution

  • I think the best answer is that it depends on the size of your project and what you are doing.

    This post lists 3 of the most common ways. I would go with Method 3 myself (Register the API with the service container), even for simple things. It abstracts it away nicely so should work best in all situations.

    https://desertebs.com/laravel/how-to-consume-external-third-party-api-in-laravel-5