Неверная ссылка на внутреннюю функцию обратного вызова $this метода Ask BotMan Conversation. ⇐ Php
Неверная ссылка на внутреннюю функцию обратного вызова $this метода Ask BotMan Conversation.
Я использую платформу BotMan на PHP для создания чат-бота и столкнулся с проблемой неправильной ссылки на $this внутри функции обратного вызова, используемой с методом Ask класса Conversation BotMan.
Я создал класс DepositConversation, который расширяет класс Conversation, и определил два метода: askAmount() и askPaymentMethod(), чтобы задавать вопросы пользователю. . Однако когда я вызываю $this внутри функции обратного вызова, которая является вторым параметром метода Ask, ссылка $this неверна и относится к BotMan\BotMan\Messages\Conversation\InlineConversation. вместо DepositConversation.
Вот отрывок моего кода:
использовать BotMan\BotMan\BotMan; используйте BotMan\BotMan\Messages\Conversations\Conversation; класс DepositConversation расширяет разговор { // ... публичная функция AskAmount() { $this->ask('Какую сумму вы хотите внести?', function($answer) { // $this относится к BotMan\BotMan\Messages\Conversation\InlineConversation // вместо Конверсии Депозита $this->сумма = $ответ->getText(); // ... }); } // ... } Я ожидал, что $this будет ссылаться на экземпляр DepositConversation, чтобы я мог получить доступ к свойствам класса и выполнить дополнительные операции. Однако, похоже, это работает не так, как ожидалось.
Кто-нибудь сталкивался с этой проблемой раньше или знает, как устранить эту неверную ошибку ссылки на $this внутри функции обратного вызова метода Ask BotMan Conversation? Заранее спасибо за помощь!
Я использую платформу BotMan на PHP для создания чат-бота и столкнулся с проблемой неправильной ссылки на $this внутри функции обратного вызова, используемой с методом Ask класса Conversation BotMan.
Я создал класс DepositConversation, который расширяет класс Conversation, и определил два метода: askAmount() и askPaymentMethod(), чтобы задавать вопросы пользователю. . Однако когда я вызываю $this внутри функции обратного вызова, которая является вторым параметром метода Ask, ссылка $this неверна и относится к BotMan\BotMan\Messages\Conversation\InlineConversation. вместо DepositConversation.
Вот отрывок моего кода:
использовать BotMan\BotMan\BotMan; используйте BotMan\BotMan\Messages\Conversations\Conversation; класс DepositConversation расширяет разговор { // ... публичная функция AskAmount() { $this->ask('Какую сумму вы хотите внести?', function($answer) { // $this относится к BotMan\BotMan\Messages\Conversation\InlineConversation // вместо Конверсии Депозита $this->сумма = $ответ->getText(); // ... }); } // ... } Я ожидал, что $this будет ссылаться на экземпляр DepositConversation, чтобы я мог получить доступ к свойствам класса и выполнить дополнительные операции. Однако, похоже, это работает не так, как ожидалось.
Кто-нибудь сталкивался с этой проблемой раньше или знает, как устранить эту неверную ошибку ссылки на $this внутри функции обратного вызова метода Ask BotMan Conversation? Заранее спасибо за помощь!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение