<?php

declare(strict_types=1);

namespace VK\API\Methods;

/**
 * Абстракция метода API
 * 
 * @method protected static put(string $url, ...$params) Создать
 * @method protected static post(string $url, ...$params) Изменить
 * @method protected static get(string $url, ...$params) Получить
 * @method protected static delete(string $url, ...$params) Удалить
 * 
 * @package VK\API\Methods
 * @author Арсен Мирзаев <red@hood.su>
 */
abstract class MethodAbstract
{
    /**
     * Создать
     * 
     * @return array Ответ сервера
     */
    public static function put(): array
    {
        return ['error' => 'Метод не поддерживается'];
    }

    /**
     * Изменить
     * 
     * @return array Ответ сервера
     */
    public static function post(): array
    {
        return ['error' => 'Метод не поддерживается'];
    }

    /**
     * Получить
     * 
     * @return array Ответ сервера
     */
    public static function get(): array
    {
        return ['error' => 'Метод не поддерживается'];
    }

    /**
     * Удалить
     * 
     * @return array Ответ сервера
     */
    public static function delete(): array
    {
        return ['error' => 'Метод не поддерживается'];
    }
}