On 03/01/2021 16:11, tyson andre wrote:
- The benefit is that dumping the result of expressions improves the default
experience.
psysh wouldn't be installed by default when a new developer is learning php
through the php manual, or when sshed into a remote server.
It doesn't feel to me that you've really answered Nikita's question: if
all the code using these hooks is going to be distributed as userland
code anyway, then they're not going to improve the default experience.
It feels like we need to go in one of two directions:
a) Build a full-featured official REPL with all of these improvements
completely implemented out of the box. Limited extension hooks might
still be desirable to build custom versions for frameworks etc, but they
could be more targeted - for custom input, it could be "register
meta-command"; for custom output, we already have __debugInfo() at the
class level.
b) Expose the magic behaviour needed for something like PsySh to do
everything `php -a` already can, and leave the rest to userland. So far,
the only mentioned requirement is a special form of eval() that swallows
fatal errors.
My feeling is that the current mood of the community favours (b) rather
than (a); the most obvious example is that PHP used to bundle a PEAR
executable, but Composer remains an entirely external project. Is there
a reason not to aim for the same "de facto standard" for a REPL?
Regards,
--
Rowan Tommins
[IMSoP]
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php