PHP реализация наследования

216
05 сентября 2018, 02:50

Имеется следующая архитектура (PHP):

APIController - curl обертка с основными с основными методами - запросами к API. В конструктор при создании передаем api_key и api_secret (в этом же контроллере метод отвечающий за отправку запроса по curl передает эти данные через заголовки):

public function __construct($apikey, $secret)
        {
            $this->apikey = $apikey;
            $this->secret = $secret;
        }

UserController - логика с использованием запросов с помощью первого контроллера. Примерно так:

class UserController
{
    public $api;
    private $apiKey;
    private $apiSecret;
    public function __construct()
    {
        $this->apiKey = 'xxx';
        $this->apiSecret = 'xxx';
        $this->api = new APIController ($this->apiKey, $this->apiSecret);
    }
    // остальная логика работы

Далее в процессе возникла необходимость работы с несколькими API аккаунтами на которых необходимо выполнять разную логику. Типичная картина наследования. Было решено сделать так:

APIController - curl обертка + запросы

BaseСontroller - вынести сюда общую для всех последующих контроллеров логику и наследовать от него все последующие контроллеры

UserAPISomeControler и последующие наследовать от BaseСontroller

При такой схеме в каждом UserAPISomeControler нам необходимо выполнять конструктор как в примере UserController выше для авторизации. Насколько оптимален такой подход и можно ли сделать более элегантнее?

READ ALSO
Анализ php-кода на совместимость с php 5.2.4

Анализ php-кода на совместимость с php 5.2.4

Где найти анализатор кода на совместимость с php 52

198
std::to_string без создания новой строки

std::to_string без создания новой строки

У меня уже имеется std::string str, у которой strcapacity() >= 1024(т

243
cmake, qt и проект разнесенный по каталогам

cmake, qt и проект разнесенный по каталогам

Вопрос вытек из моего предыдущего вопроса: cmake & qt проблемы

272
Пропуск инициализации wstring из-за goto

Пропуск инициализации wstring из-за goto

компилятор выкидывает ошибку что не может инициализировать wc2 из-за метки mmCleanДа, знаю что goto использовать не стоит, но в моем случае он используется...

245