Re: [RFC] Add PHP_ENGINE Constant

From: Date: Wed, 03 Feb 2016 22:37:08 +0000
Subject: Re: [RFC] Add PHP_ENGINE Constant
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to internals+get-91073@lists.php.net to get a copy of this message
Fair enough - though I’m not convinced that it would be effective: if successful, it would allow people to do 90’s-browser-sniffing-style if ($engine !== ‘my favorite’) throw Exception(’sorry, not supported yet’);, so it seems fairly likely that implementations would end up lying about it (and yes, deviating from the spec) in a few years anyway. As a side note, AFAIK HippyVM isn’t being actively developed (https://twitter.com/HippyVM/status/634347845957627904 <https://twitter.com/HippyVM/status/634347845957627904>) > On Feb 3, 2016, at 5:29 PM, Davey Shafik <davey@php.net> wrote: > > Currently, HippyVM doesn't even _have_ a version constant. Because it's trying to > pretend to be PHP. Having a "YOU MUST FILL THESE CONSTANTS WITH YOUR OWN RUNTIMES DATA" in > the spec is intended to help that situation. > > Right now, there's no way to tell what version of HippyVM you're running on, and to > even check that you're using Hippy you need to check for E_HIPPY_WARN. > > We have a chance to standardize, and "mandate" that the information is exposed > explicitly, and done so consistently. > > On Wed, Feb 3, 2016 at 5:14 PM, Fred Emmott <fred@fredemmott.co.uk <ø”@Ъµ…½~Ûò > ½‡)Nmailto:fred@fredemmott.co.uk>> wrote: > >> On Feb 3, 2016, at 2:00 PM, Davey Shafik <davey@php.net >> <mailto:davey@php.net>> wrote: >> >> On Wednesday, February 3, 2016, Sara Golemon <pollita@php.net >> <mailto:pollita@php.net>> wrote: >> >> Unfortunately Sara, the types of things you generally have to work around >> are minor things, like differences in DOM, or the inability to json_encode >> DateTimeImmuteable > > > > It seems like the main thing this RFC would change is that you could easily do “if ($engine > !== ‘php’)” - but for almost all the examples I can think of, and yours, what’s actually > needed is if "($engine === ‘specific_engine_that_needs_a_workaround’)”, so I don’t see > a benefit over using HHVM_VERSION or similar. > > The one exception I can think of is if someone’s reimplementing phpinfo() or similar. > > Regards, > - Fred >

« previous php.internals (#91073) next »