phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.83k stars 200 forks source link

Remove supprt for V8 extensions, uncaught exceptions & V8Js::checkString method #484

Closed stesie closed 2 years ago

stesie commented 2 years ago

This removes support for V8 extensions, uncaught JS exceptions as well as the V8Js::checkString method, all of which have been marked as deprecated before.

With snapshots there's a more flexible alternative available. On the other hand extensions always conflicted with PHP's request lifecycle.

Suppressing uncaught JS exceptions always felt a bit strange, especially since it was possible for sub-sequent exceptions to occur, that then overrode the former ones. Better wrap your executeString calls in try/catch constructs -- and if you really need to, ignore the error there.

V8Js::checkString has been removed in favour of V8Js::compileString (which does effectively the same, except for not throwing away the compilation result).

And this way the V8Js constructor looks way cleaner, especially when you just want to provide a snapshot 🎉

Last chance to convince me, that this is a bad idea :-)