Как стать автором
Обновить

Комментарии 11

Хотя бы тем, что он не интегрирован с Phpstorm, и там нету автодополнения и прочих фич. Просто сравните php -a, которая не интегрирована, и то, как выглядит консоль, которая интегрирована. Я уж молчу про способы выполнять код вообще без консоли

А в pycharm такой же функционал как на видео?

Ну с некоторыми отличиями, но в целом да, с PyСharm она интегрирована

UPD: все таки есть способ "прокинуть" автодополнение IDE в php -a. Правда, это недокументированная возможность, и в итоге даже больший костыль, чем Xdebug в качестве REPL, и в целом уступает ему по возможностям и удобству. Написал об этом отдельную статью

Круто! Спасибо!

Объясните зачем это вообще нужно ?

Проверить выражение в одну строку ? То хватает сейчас php песочниц и с разными версиями можно проверить. В шторме есть возможность создать scratch файл и его сразу выполнить

Но только ни в какие левые песочницы и в scratch вы не подключите ваш проект с его классами и т.д. Не сможете протестировать методы из этих классов. И тем более не сможете выполнять там методы, которые например делают запросы к БД. Здесь же это возможно, нет никаких препятствий для этого. А это все бывает очень полезно, когда вы изучаете чужой код в проекте, и не можете понять, что делает данный его кусок. А тут можно его выполнить прямо в редакторе, "не отходя от кассы".

И никто не говорит что только в одну строку, в консоли можно и куски кода выполнять.

А scratch здесь больше для другого подходит, не как скрипт, а как "игровая площадка", куда можно просто накидать черновые куски кода и выполнять их. Можно и просто выполнять скрипты по выражениям, но не строго пошагово, как в обычной отладке, а в любом удобном вам порядке.
В общем, вариантов для чего это можно использовать, много.

когда не понятно что делает код, то идёшь дебагером пошагово и смотришь дамп, понимание приходит значительно быстрее.

ещё момент, PHP в отличие от того же rust компилировать не нужно, и этот же код можно написать внутри метода

С одной стороны я вас понимаю, допустим была реальная ситуация когда писал парсер и было удобно прямо сразу видеть что получаешь на выходе (добавляя фильтры и регулярки), с другой, не представляю где это ещё может пригодиться.

Ну пошагово, это еще нужно добраться до того места, это еще нужно отловить приложение на этом моменте. Ну где-то действительно больше подходит пошагово. Но когда в коде банально есть вызов какого-нибудь метода, который к к тому же не принимает параметры, то проще всего узнать что он возвращает - через Quick Evaluate Expression, потому что это можно сделать в один клик, без танцев с бубнами. А если таковых десятки, то это уже ощутимо, вручную на каждый из них засорять код дампами. К тому же Quick Evaluate Expression и Evaluate Expression делают графическое представление тех же массивов/объектов. Плюс окон Evaluate Expression можно открыть сколько угодно, и перед глазами будет удобный вывод результатов выполнения разных методов. Плюс можно быстро выполнить разные вариации выражений, без всяких перезапусков файла.

Да и в пошаговой отладке эти фичи тоже можно применять, изначально они для нее и сделаны

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

вот теперь стало интересно, спасибо попробую :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории