Использование функции из другого файла не работает? Здравствуйте, использую библиотеку Madeline Proto. Есть код из первого файла:include 'madeline.php';
$MP = new \danog\MadelineProto\API('session.madeline');
$MP->start();
...
case '/test':
include 'MTProto.php';
send($MP);
break;
и код файла MTProto.php:
function send($MP)
{
$MP->messages->sendMessage(['peer' => ' *****', 'message' => 'test in function']);
}
Когда использую команду /test, то мне ничего не присылается. В чем проблема? Заранее благодарен.

21 Авг 2019 в 06:58
347 +1
0
Ответы
1

Проблема, скорее всего, заключается в том, что функция send() из файла MTProto.php не видна в файле, где вы вызываете ее через include. Для того чтобы функция была доступна из другого файла, необходимо использовать require вместо include.

Попробуйте изменить ваш код следующим образом:

в файле, где вы вызываете функцию send():

require 'MTProto.php';
send($MP);

Также убедитесь, что путь к файлу MTProto.php указан правильно, и файл находится в нужной директории.

Если проблема останется, попробуйте добавить namespace к функции send() в файле MTProto.php и использовать его при вызове функции из другого файла.

Надеюсь, это поможет решить вашу проблему. Если у вас есть другие вопросы, не стесняйтесь задавать.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир