@Fox Работает. Большое спасибо!
Интерпретация PHP в BAS
-
Подскажите, пожалуйста, как можно запустить PHP код в BAS, желательно, чтобы код PHP был прописан в программе, без внешних файлов. Удалось запустить через консоль, используя php.exe, но в этом способе есть недостатки:
- Как дождаться выполнения командной строки, чтобы перейти к обработке результатов
- Как получить сам результат? Делаю запись логов в файл, но метод так себе)
Буду благодарен за любую полезную информацию.
-
@миша нет ничего невозможного, я написал как можно запускать, но есть нюансы. возможно кто-то знает решение как работать проще. если вы не знаете, то смысл в вашем ответе про документацию. я читаю документацию и когда не нахожу ответа задаю вопрос, для этого и существует форум
-
@graf
https://community.bablosoft.com/topic/4559/как-добавить-новый-встроенный-язык/2а при работе через php.exe можно вывод в лог делать?


кстати вызов команд консоли через стандартный модуль работает через создание bat файла.
можно обращаться к api бас и работать без генерации -
@tet-vivi said in Интерпретация PHP в BAS:
а при работе через php.exe можно вывод в лог делать?
запускал через командную строку, в командной строке делал перевод лога в файл.
@tet-vivi said in Интерпретация PHP в BAS:
кстати вызов команд консоли через стандартный модуль работает через создание bat файла.
делал запуск консоли через node.js и после выполнения задачи процесс вроде как не завершается.
-
api bas для прямого вызова команд консоли
var loc_cmd = ""; native_async("processmanager", "start", JSON.stringify({location: loc_cmd, working_folder: "", waitfinish: true, arguments: "", version: 2}))! var result_str = ""; try{ var split = _result().split(",") result_str = base64_decode(split[0]) VAR_PROCESS_ERROR_OUTPUT = base64_decode(split[1]) }catch(e) { result_str = _result() }api/действие запустить Процесс вполне отвечает 2 пунктам в шапке темы.
есть опция ожидания выполнения команд, а так же получения результатов.можно модуль сделать для удобства.
-
@tet-vivi выглядит красиво, но пока что-то не удаётся добиться результата. в var loc_cmd указываю путь к папке, в которой находится исполняемый файл php.exe? верно? рабочую папку я так понял не обязательно указывать. а в аргументах ключи запуска php test.php?
-
@graf
var loc_cmd = "C:\php.exe test.php"- working_folder - рабочая папка(откуда команда будет вызываться)
например можно указать C:\ тогда можно не указывать путь к исполняемому файлу - waitfinish - ждать завершения
- arguments - аргументы консольный команды. например сюда можно вынести test.php
- location - консольная команда
код можно использовать через действие выполнить код
- working_folder - рабочая папка(откуда команда будет вызываться)
-
@graf said in Интерпретация PHP в BAS:
Подскажите, пожалуйста, как можно запустить PHP код в BAS, желательно, чтобы код PHP был прописан в программе, без внешних файлов. Удалось запустить через консоль, используя php.exe, но в этом способе есть недостатки:
- Как дождаться выполнения командной строки, чтобы перейти к обработке результатов
- Как получить сам результат? Делаю запись логов в файл, но метод так себе)
Буду благодарен за любую полезную информацию.
@support как то спросил, а какой код можно реализовать на php, который нельзя реализовать на node js?
Это я к тому, что зачем все эти телодвижения? Вы хотите в BAS использовать уже чей то готовый код на php? -
@Fox said in Интерпретация PHP в BAS:
@support как то спросил, а какой код можно реализовать на php, который нельзя реализовать на node js?
оффтоп
Да, хочу использовать библиотеку апи телеграм https://docs.madelineproto.xyz/
-
@graf said in Интерпретация PHP в BAS:
@Fox said in Интерпретация PHP в BAS:
@support как то спросил, а какой код можно реализовать на php, который нельзя реализовать на node js?
Звучит как начало какого-то фильма о мудреце))
Кстати да
:DДа, хочу использовать библиотеку апи телеграм https://docs.madelineproto.xyz/
Если таки нет аналога на ноде, то, как вариант, поднимите полноценный php сервер с этой либой, а данные передавайте в BAS через get-запросы\websocket\базу\файлы
-
@Fox said in Интерпретация PHP в BAS:
Если таки нет аналога на ноде, то, как вариант, поднимите полноценный php сервер с этой либой
мне нужно чтобы это было портативно, то есть пользователь скачал программу и без лишних настроек начал пользоваться. уже думал об этом варианте, вроде для таких целей должен подойти xampp?
-
@graf said in Интерпретация PHP в BAS:
xampp
Средний пользователь вспотеет от всех этих xampp :)) Лучше сделать свой сервер, хотя проще написать код самому без зависимостей.
-
@tet-vivi said in Интерпретация PHP в BAS:
@UserTrue xampp сложнее Open Server?
А разница? Обычный юзер одурет от всех шагов которые ему надо будет пройти, чтобы запустить это "чудо". При этом он на 99% что-то сделает неправильно и придется настраивать ему самому, вот для это и нужен свой сервер. Но тогда зачем тут бас... )))
-
@graf said in Интерпретация PHP в BAS:
Да, хочу использовать библиотеку апи телеграм
Под API телеграмм
https://core.telegram.org/bots/samples