Как я могу установить ключ API один раз и сохранить его в функции? - PullRequest
0 голосов
/ 10 мая 2019

Я работаю над некоторыми классами и функциями. Функции извлекают данные из API, для которого требуется ключ API. Можно ли установить ключ API один раз, а затем использовать его во всей программе?


// Class example
class Airport
{
    public function setClient($appId, $appKey)
    {
        $client = new GuzzleHttp\Client([
            'headers' => array(
                'resourceversion' => 'v4',
                'accept' => 'application/json',
                'app_id' => $appId, // Set this
                'app_key' => $appKey // And this
            )
        ]);
    }
}
// Other file example
require 'classes.php';

$airport = new Airport();
$airport->setClient('xxxxxxxxxxx', 'xxxxxxxx');

// Continue to use other functions without setting the API key again.

1 Ответ

1 голос
/ 10 мая 2019

Вы можете сохранить их как свойства, используя $this

Я не уверен, хотите ли вы повторно использовать клиент или идентификатор / ключ приложения, но в любом случае это почти та же идея.


// Class example
class Airport
{
    private $appId;
    private $appKey;
    private $client;

    public function setClient($appId, $appKey)
    {
        $this->appId = $appId;
        $this->appKey = $appKey;

        $this->client = new GuzzleHttp\Client([
            'headers' => array(
                'resourceversion' => 'v4',
                'accept' => 'application/json',
                'app_id' => $this->appId, // Set this
                'app_key' => $this->appKey // And this
            )
        ]);
    }

    // New function that uses the client
    public function someOtherMethod()
    {
        $x = $this->client->someMethod();
    }

    // new function that uses the app properties
    public function anotherMethod()
    {
        $x = new Something($this->appId, $this->appKey);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...