[DASH] Работа с новой консолью

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

[DASH] Работа с новой консолью

Сообщение SmoKE_xDDD » Ср фев 24, 2021 11:47 am

Безымянный.png
Безымянный.png (53.83 КБ) 1499 просмотров
В новой версии дизайна я изменил логику работы консоли, теперь код, который вы выполняете - консоль будет стараться выводить в print_r дабы увидеть ответ, например от штатных функций.
Отсюда вытекают несколько проблем:
- Если вы укажите код:

Код: Выделить всё

echo 1;cm('Moy.Method');
- то такой код будет выполнятся как

Код: Выделить всё

echo 1;echo cm('Moy.Method');
Если вы хотите, чтобы каждая команда выполнялась по "своему" то команды нужно разделять с помощью: PHP_EOL
- Если вы укажите код:
echo 1;PHP_EOLcm('Moy.Method');
- то такой код будет выполнятся как

Код: Выделить всё

echo 1;print_r(cm('Moy.Method'));
Надеюсь доходчиво объяснил. :D

Для чего:
- Теперь чтобы вывести что-то на экран не нужно писать echo, var_dump, print_r - можно просто $_SERVER и увидеть вывод
- Штатные функции, в которых не предусмотрен return, а только вывод на страницу - вы увидите этот вывод в консоли
- ; в конце не обязательно ставить, скрипт сам будет проверять наличие

Так же в консоль добавлены команды clear/clear; для очистки консоли, как в *nix.
За это сообщение автора SmoKE_xDDD поблагодарили (всего 2):
u885 (Ср фев 24, 2021 3:12 pm) • newz20 (Ср фев 24, 2021 4:38 pm)
Рейтинг: 2.33%
newz20
Сообщения: 172
Зарегистрирован: Пт апр 06, 2018 9:40 am
Благодарил (а): 93 раза
Поблагодарили: 93 раза

Re: [DASH] Работа с новой консолью

Сообщение newz20 » Ср фев 24, 2021 4:38 pm

После правок кода по итогу сделан вывод несколько иначе.
При отсутствии в начале строки echo выводится первая команда будет в консоль автоматически через print_r.
остальные команды не выполнятся.
При наличии в начале строки echo выводится первая команда остальные команды выполнятся тихо. Если нет в коде явного указания на вывод.

2021-02-24_16-07-01.jpg
2021-02-24_16-07-01.jpg (3.24 КБ) 1410 просмотров
Такой код сработает именно и явно как указано в консоль попадет первая часть, в лог вторая. Если же убрать debmes то вторая часть просто выполнится без вывода.

если надо выводить каждое действие то пишем echo или print_r перед каждой функцией.

Есть еще один способ выводить информацию PHP_EOL, это обеспечит перенос на новую строку и там сработает первое условие вывода через print_r.

Таким образом для вывода в консоль нужного результата можно использовать 4 метода.
Первый для простых функций с ответом ничего не пишем, там сработает через print_r
Второй - перед выводом нужного место ставим print_r.
Третий - echo.
Четвертый - PHP_EOL.
Пятый var_dump.

Шестой, не про консоль конечно, но debmes в лог закинет результат.


Так же добавилось поле выбора модуля, при активации автоматически подставится строка его вызова и все команды написанные в консоли будут отрабатываться уже после этого вызова. А значит можно прямо из консоли отправить сообщение в телеграмм прописав только $telegram->sendMessageToAll('привет'); и выбрав из списка модуль Телеграмм.
Доступные для этого модуля функции отобразятся справа от выбора при его активации. Выбрав там sendMessageToAll(); остальное, кроме слова ПРИВЕТ напишется автоматически. Все функции при выборе вставляются на место курсора, можно выбрать 2 и более функций в одной строке.
Для примера выбрав модуль телеги и функцию из списка , мне оставалось прописать в скобках 'привет' и нажать отправить и сообщение улетело в телеграмм. Экономия на поиске и написании функции и кода вызова модуля. В моем случае это руками до 10 минут, поиском и копированием от 2х. Тут я справился меньше чем за 20 секунд. И что не мало важно - правильность написания гарантирована.
2021-02-24_16-28-57.jpg
2021-02-24_16-28-57.jpg (63.64 КБ) 1410 просмотров
За это сообщение автора newz20 поблагодарили (всего 3):
SmoKE_xDDD (Ср фев 24, 2021 4:40 pm) • fandaymon (Ср фев 24, 2021 5:25 pm) • odinvolk (Вс май 28, 2023 11:14 pm)
Рейтинг: 3.49%
Ответить