Расширить класс для создания пользовательских функций

В настоящее время я создаю бот для Slack, используя это slackbot пакет.

В настоящее время у него нет способа создавать собственные вложения, например, прикреплять изображение.

Глядя на источник, Question Класс делает много тяжелой работы по созданию интерактивных вопросов — объединяет все это в массив, готовый для отправки в Slack.

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

В конечном счете, я просто хочу иметь возможность использовать пакет для отправки сообщения и прикрепления изображения.

Из того, что я могу собрать воедино, мне нужно начать с чего-то вроде этого:

<?php

namespace //namespace;

use Mpociot\SlackBot\Question;

class Attachments extends Question
{
//code to add image URL goes here

/**
*   there is currently this function in the Question class
*   that builds the array where I need to add in
*   'image_url => 'example.com/image_url'
*/
public function toArray()
{
return [
'text' => $this->text,
'fallback' => $this->fallback,
'callback_id' => $this->callback_id,
'actions' => $this->buttons,
];
}

}

Может ли кто-нибудь помочь направить меня в правильном направлении или помочь мне начать с этим?

2

Решение

Вы можете получить все функциональные возможности от parent Класс с помощью:

parent::toArray();

В этом случае вся функция в расширенном классе будет выполнена. Вы всегда можете записать результат в переменную, например:

$parent = parent::toArray();

и вы можете вернуть его так:

return array (
'image_url' => 'example.com/image_url',
) + parent::toArray();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]